The goal is to provide a lightweight application (probably .NET) that will provide very limited functionality to interact with a specific web application in our organization (it's Workday, if that helps.)
We have so far done this successfully using Selenium -- requiring each user to have Chrome installed and - importantly - to have the version of chromedriver.exe that is compatible with their Chromium version. Most of the application consists of chromedriver.FindElementByXPath(x).Click and chromedriver.FindElementByXPath(x).SendKeys(t) statements.
However, it's becoming cumbersome to ensure that the right chromedriver is installed for all the users, and we'd like this application to be agnostic about the browser (or at least, support any installation of Chrome, Edge, Firefox on the user's device.)
So the simple question is -- can we execute simple activities against the site (clicking some of the button tiles and sendkeys to populate textboxes) without Selenium?
I'm looking into possibly using Microsoft UI Automation or something that can simply handle clicks and text entry through GETs and POSTs (and no, using an API is probably not an option.)
CodePudding user response:
Don't work too hard studying the link you provided. Why? Because the question is not asking to automate anything but a browser app. Unless of course your app embeds a browser... Automating desktop applications is difficult but can be done.
I'd look deeply into Microsoft's Playwright. It's a Selenium free product for browser automation. It's current team of engineers are the best in the industry, many of them were on the Puppeteer project at Google. Apart from Cypress, Playwright appears to be best in class now. The problem with Cypress is that you have to run it in a pseudo IDE based in a dedicated browser.