whether the UI is for desktop, mobile, web, or something else. This is a follow on post regarding these old posts:
- https://autumnator.wordpress.com/2015/01/19/webdriver-api-and-jsonwireprotocol-is-not-just-for-web-and-mobile-applications-testing-it-can-be-for-desktop-too/
- https://autumnator.wordpress.com/2013/07/12/on-contributing-to-selenium-open-source-projects/
- https://autumnator.wordpress.com/2017/10/10/cheers-to-microfocus-and-silktest-for-supporting-selenium-based-features/
It would be nice to see more UI test tooling, open source or not, to support the WebDriver API / JSONWireProtocol, so that one can use a single automation API for all UI automation, and can even do cross endpoint UI automation in a single test (one that involves both mobile + desktop + web UIs for example) by simply using a single API and multiple driver instances as needed (one for web, one for mobile, one for desktop).
There are already some per the referenced posts above, but would be nice if the open source community helps integrate/build more. For commercial test tools, until the vendor like Microfocus for SilkTest does it themselves in-house, natively, extending such support would have to be a 3rd party wrapper around the commercial tooling.
So if one is looking to help out with Selenium open source maybe consider providing WebDriver API to non-web UI test tools as a project to work on that helps you learn Selenium and other stuff at the same time. One could also make a Webdriver API wrapper to query XML and JSON, so that you can just supply XPath and JSONPath to find the element/object within XML/JSON, and load the XML/JSON with an open command but not open a browser URL but rather a file path to the XML/JSON.
This post is also a reference for myself the tools I know of where someone or myself requested for WebDriver API support/integration. I would help out myself as well if/when I had the time to do so.
- https://github.com/pywinauto/pywinauto/issues/687
- https://github.com/FlaUI/FlaUI/issues/227
- https://github.com/sdesalas/trifleJS/issues/20
- https://github.com/pyatom/pyatom/issues/154
- https://github.com/octalmage/robotjs/issues/237
- https://github.com/TestStack/White/issues/543
- https://github.com/yinkaisheng/Python-UIAutomation-for-Windows/issues/180
- https://answers.launchpad.net/sikuli/+question/234883 or https://github.com/RaiMan/SikuliX1/issues/477
- https://www.ranorex.info/thoughts-on-a-ranorex-webdriver-t7423.html or https://www.ranorex.info/ranorex-webdriver-api-for-desktop-automation-t20468.html