Check out the top 12 Automation tools with pros and cons—like Cross-Operating Systems, Cross-Automation Platforms, Programming Language Support, and more —for desktop Automation Testing.
Although the demand for desktop app testing is not growing as fast as mobile and web app testing, it’s still a crucial day-to-day duty for many testers, especially those who work on sophisticated legacy systems in complex enterprise environments. Ignoring desktop app Automation is simply a luxury that those testers can’t afford.
Desktop applications are computer programs that must be installed, configured, and executed on a desktop operating system, such as Windows, Linux, and macOS. End-users need a desktop computer or laptop with sufficient hardware resources to access the functionalities of these apps.
Common technologies to build desktop apps include:
· Java (Swing, AWT, SWT, JavaFX)
· .NET (UWP, WPF, WinForms, VB.NET)
· Windows API (win32)
· GDI, MFC, Visual Basic, Visual C++, PowerBuilder, SAPGUI, Oracle Forms, Telerik, DevExpress, Infragistics, Xlib, Cocoa, etc.
This article lists out the best Automation tools to automate functional testing for desktop apps. If you’re looking for a tool that fits your specific needs, this list is definitely helpful for you to explore, evaluate, compare, and eventually adopt the best tool for your Automation needs
The 12 Automation tools are:
- Tricentis Tosca
- Micro Focus UFT (QTP)
- Robot Framework
- White Framework
Criteria for Analysis
WinAppDriver is built on top of the WebDriver protocol—the gold standard for web & mobile app testing. You can use WinAppDriver to drive any Windows apps, such as classic Windows controls (Win32), WPF, WinForms, UWP using a wide variety of language bindings (C#, Java, Python, Ruby), and test runners (MSTest, JUnit, Nunit, etc.).
If you’re only interested in automating Windows apps with WebDriver, and you know how to code, you should go with WinAppDriver. If you’re not confident with coding, adopting WinAppDriver may not be the best option for you.
[Image taken courtesy of github.com]
2. Winium Desktop
Winium Desktop is an open-source Test Automation framework for WinForms and WPF app testing. Just like WinAppDriver, it’s based on WebDriver protocol. However, the tool has less features than WinAppDriver in several areas.
For open-source projects, active maintenance is key. Winium has not been actively maintained since 2016, so if you go with it, you have to fix bugs or add new improvements on your own. Your team needs extensive technical knowledge and skills.
[Image taken courtesy of github.com]
TestArchitect is a Keyword-Driven Testing tool. Testers with modest programming skills can learn quickly thanks to an extensive keyword library. TestArchitect also features a modern Keyword-Driven Testing method called Action-Based Testing.
TestArchitect is relatively stronger than open-source solutions in terms of usability, width, and depth of support. If you don’t want to build a framework from scratch, you should go with this battle-tested framework. Besides, the tool is well maintained by a professional engineering team, unlike Winium. The caveat? You need a budget for the upfront cost of purchasing it. Luckily, the Tool does offer a Freemium version with a limited number of test cases.
Check out this Quick Introduction to TestArchitect.
Ranorex is a Test Automation tool that has been in the market for a long time. They offer proprietary Automation technologies to automate a wide range of desktop, web, and mobile apps. Ranorex has appeared in reports in recent years.
Ranorex’s presence in the Japanese market is strong, thanks to their Japanese localization and reliable record & playback. For other markets, Ranorex topped the G2 Crowd rankings in two areas: (1) overall most popular product and (2) highest “relationship score.” Invest in Ranorex if you prefer record & playback as the primary method of test development.
[Image taken courtesy of ranorex.com]
Tricentis provides a wide support for virtualy all test activities. They offer customers a Continuous Testing platform that covers test design, UI testing, API testing, service virtualization, and test data management. With the recent acquisition of QASymphony (qTest), they further expand their scope to test management.
Tricentis Tosca is very friendly for manual testers who want to transition to Test Automation Engineers. The company states that given 3 weeks, they can train 85 out of 100 manual testers to become Automation Engineers using Tosca.
[Image taken courtesy of tricentis.com]
6. SmartBear TestComplete
SmartBear TestComplete has been on the Automation market since 1999, so it’s obviously one of the veterans. TestComplete (TC) offers a comprehensive solution that covers desktop, web, and mobile. They’ve recently added a hybrid UI matching method combining visual recognition and object recognition.
TestComplete is indeed one of the best tools on this list. Consider checking it out.
[Image taken courtesy of support.smartbear.com]
7. Micro Focus UFT (formerly HP QTP)
UFT/QTP is one of the oldest tools in the Test Automation market today. UFT is a powerful UI testing tool. It allows you to test a wide range of platforms, including desktop, web, web services, SAP, and mobile. It also integrates seamlessly with HP Quality Center.
If you already have HP QC as your test management system, UFT is your natural choice for Test Automation.
[Image taken courtesy of softwaretestingclass.com]
SikuliX is an open-source tool that automates anything you see on screen using image recognition and OCR. The name actually means “God’s Eye” in Huichol Indian culture. Check it out here.
SikuliX is suitable for small projects, since it was designed to automate various mundane tasks on Windows. However, once you scale up, you’ll find unsolvable problems due to the nature of the image recognition technique. Additionally, image recognition tends to be slower than object recognition.
[Image taken courtesy of doc.sikuli.org]
Robot Framework is another open-source tool that is keyword-driven. Robot is flexible, since you could use it with many desktop Automation libraries, such as SwingLibrary (Java Swing GUI), SikuliLibrary (SikuliX), SapGuiLibrary, JavaFXLibrary (JavaFX apps), EclipseLibrary (Eclipse RCP/SWT), and AutoItLibrary (AutoIt).
Robot Framework is an excellent alternative to expensive commercial tools. If your budget is tight, consider adopting Robot FW. However, be sure to recognize the investment of time and money needed to learn a new tool.
[Image taken courtesy of robotframework.org]
AutoIt is a freeware designed to automate Windows GUI. Although the initial purpose of AutoIt was to “roll out” and configure thousands of PCs, you can use AutoIt for Test Automation too. Fun fact: AutoIt became popular, thanks to Selenium’s inability to interact with Windows dialogs that you manually use to upload files to a web page.
AutoIt works for some simple Automation scenarios. If you want a free and lightweight solution to get through simple Automation challenges, use AutoIt. Also note that if you like Selenium, you ought to use AutoIt to work around pop-up dialogs.
[Image taken courtesy of autoitscript.com]
11. White Framework
White framework helps you automate rich client applications written by Win32, WinForms, WPF, Silverlight, and JavaSWT. It’s based on .NET and depends on Microsoft’s UIAutomation (UIA) to drive desktop apps.
White is a rather niche test tool. That said, small quick and dirty projects can definitely leverage White, thanks to its free cost.
[Image taken courtesy of github.com]
Conformiq is not strictly an Automation tool. Its core offerings (Creator and Transformer) are tools that help you model the business flows of the app under test, generate tests, and transform those tests to executable scripts. Conformiq totally relies on third party Automation libraries, such as QTP/UFT for desktop testing and Selenium for web testing.
Conformiq works really well for test teams with more business expertise and less technical. It helps you visualize the test flows as a whole through a model, so you don’t miss test cases and bugs. However, having to purchase additional UFT licenses is a big entry barrier.
[Image taken courtesy of confirmiq.com]
The tool market for Automation Testing is very competitive, so you can expect radical changes and innovative features being introduced every day.
Note that this is a live list that is updated regularly. Be sure to check out LogiGear’s blog frequently so that you don’t miss updates in the tooling market!
Disclaimer: This article is not endorsed by, directly affiliated with, maintained, authorized, or sponsored by any of the companies mentioned in this article (Microsoft, Ranorex, Tricentis, SmartBear LLC, HP, Micro Focus, and the listed open-source project teams). All product and company names are the registered trademarks of their original owners. The use of any trade name or trademark is for identification and reference purposes only and does not imply any association with the trademark holder or their product brand. Author’s views are not associated with LogiGear Corporation.