Software testing by Unify
Desktop Automation Testing Tools
Desktop Automation
Due to today’s increased use of web and mobile apps, demand for desktop application automation testing tools is not as great, however there are tools that can help with your testing needs.
WinAppDriver
- Implementing the WebDriver protocol, WinAppDriver is a tool that allows interaction with classic Windows controls, WPF, WinForms and UWP using multiple languages, such as C#, Java and Python. A downside is that it only runs on Windows 10 machines and not Linux or macOS
- Currently this the most commonly used desktop automation tool.
- This solution is open source and free.
- Can be found at https://github.com/microsoft/WinAppDriver
Appium
- Similar to WinAppDriver, Appium is built using a WebDriver that allows automation for desktop apps, tests can be built using multiple languages by identifying objects through XPaths of the POM (Page Object Model).
- This solution is open source and free.
- Can be found at http://appium.io/
White Framework
- A framework based on .NET that uses Microsoft’s UIAutomation (UIA) to drive its apps. It can test apps written by Win32, WinForms, WPF, Silverlight and JavaSWT. This solution’s documentation is quite limited and is not actively maintained, but still provides benefit as it’s easy to write and execute tests.
- This solution is open source and free.
- Can be found at https://teststackwhite.readthedocs.io/en/latest/
SikuliX
- An app built in Java, which runs on Windows, macOS and Linux. SikuliX is a framework that is based on the visual input of images to identify its objects. A constraint is that SikuliX’s image based objects can cause instability and be slower to execute.
- This solution is open source and free.
- Can be found at http://sikulix.com/

Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behaviour or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.
The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.