If you look at conference talk and workshop topics, (online) articles, tutorials, and courses, you could get the impression that most software testing revolves around web and mobile. The 2020 state of testing report, curated and published by Practitest, underwrites that. Web and mobile have got the biggest share of the technologies being tested (75% and 59% respectively). Desktop is coming in third with 45%. Which makes you think why this technology is not getting more attention in the world of testing? It's about time that we put the limelight on desktop testing; Windows desktop automated testing to be precise.
The first part of this article will give an overview of available tools for Windows desktop automation. Then it will go into the things to consider in choosing a tool.
This will not be a complete overview on available desktop test automation tools. Things that are currently not included (but might be added later):
- Paid for tools. I have not done enough research into these. Only open source tools are listed.
- Tools for other operating systems than Windows (e.g. Linux, MacOS), as I've not had a lot of exposure on this.
- Tools that are not aimed at (aiding) GUI automation (e.g. database, API, network). These are not specifically for desktop, so won't be covering those.
Joe Colantonio of Test Guild (@joecolantonio) already has put together a very extensive list of Automation tools for desktop applications. Follow the link to Joe's article for a full description of each of these following tools:
- Windows Application Driver
- White Framework
- Oracle Application Testing Suite OATS
Almost as important as the tools for automated test execution itself, are the tools that support you in creating your automation.
For web automation, DevTools are invaluable in that respect (
A last tool I would like to mention is not necessarily a desktop GUI automation tool, but definitely one that can help in testing a Windows desktop application. It is called Accessibility Insights, and is aimed at inspecting and assessing the accessibility of an application for people with and impairment like vision loss or colour blindness.
In choosing a test automation tool or framework, in general, there are a lot of things things to consider, like:
- Supported programming languages
- Reporting capabilities
- Integration with other tools
In addition to the above, there are a few things specific to desktop test automation to keep in mind:
- Supported operating systems. Not all available tools will work with each version of Windows. We would have loved to use WinAppDriver as our platform, but it is only available for Windows 10.
- Windows has got different application platforms, which all work slightly differently. Be sure your tool supports the platform you want to target.
- Some desktop applications have got their own specific frontend, depending on which underlying technology is being used. For example, GUIs from a JAVA or Oracle application are constructed in a different way, and there are specific tools supporting those type of applications.
The aim of this post has not been to give an ultimate list of available desktop test automation tools.
But sure I will keep adding to it when I come across tools in this category that not yet have been mentioned.
And please send me a message if you know of a tool that should be mentioned here.