WinAppDriver is the UI automation tool recommended by Microsoft, and now there is an open-source implementation: YWinAppDriver. YWinAppDriver is compatible with w3c and selenium json wire protocols, so there is little effort for WinAppDriver user to switch from WinAppdriver to YWinAppDriver.
In Windows, the Microsoft UI Automation(UIA) is the user interface which provides programmatic access to allow user to manipulate the UI by means other than standard input. UI Automation allows automated test scripts to interact with UI.
WinAppDriver and other Microsoft internal automation tools use UIA too. WinAppDriver itself is an win32 application, and UIA API is too low level, so Microsoft open-sourced(binaries only) the core parts of WinAppDriver as Microsoft.Windows.Apps.Test in 2018 which was targeted to .net core and the open source WinUI project. To open source WinUI, Microsoft created Microsoft.Windows.Apps.Test which is a branch of WinAppDriver. WinUI used Microsoft.Windows.Apps.Test library and developed its own automation infrastructure.
It’s very easy to try YWinAppDriver:
1. download it from Releases · licanhua/YWinAppDriver (github.com)
2. launch it from CLI like
WinAppDriver.exe — urls http://127.0.0.1:4723 — basepath /wd/hub
Then you can user YWinAppDriver just like WinAppDriver.
If you are nodejs user, please just run:
npm install ywdio-ywinappdriver-service — save-dev
npm install winappdriver — save-dev
If you are WebdriverIO user, just add ywdio-ywinappdriver-service and update the config like below: