Home Software Testing Tools, Test Automation, Test Methods & Metrics 12 Best Automation Tools For Testing Desktop Apps In 2019

12 Best Automation Tools For Testing Desktop Apps In 2019

Check out the top 12 Automation tools with pros and conslike Cross-Operating Systems, Cross-Automation Platforms, Programming Language Support, and morefor 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:

  1. WinAppDriver
  2. Winium
  3. TestArchitect
  4. Ranorex
  5. Tricentis Tosca
  6. TestComplete
  7. Micro Focus UFT (QTP)
  8. SikuliX
  9. Robot Framework
  10. AutoIt
  11. White Framework
  12. Conformiq

Criteria for Analysis

1. WinAppDriver

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]

Figure 1 – WinAppDriver architecture

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]

Figure 2 – Winium test script

3. TestArchitect

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.

Figure 3 – TestArchitect IDE showing a Keyword-Driven Test

4. Ranorex

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]

Figure 4 – Ranorex Studio showing a keyword-driven test

5.Tricentis Tosca

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]

Figure 5 – Tricentis Tosca UI
 

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]

Figure 6 – TestComplete BDD-style test cases
 

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]

Figure 7 – UFT’s GUI test
 

8. SikuliX

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]

Figure 8 – SikuliX IDE showing an image-based test
 

9.Robot Framework

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]

Figure 9 – A test case in Robot Framework (credit: robotframework.org)
 

10. AutoIt

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]

Figure 10 – AutoIt script to automate the Windows Calculator app
 

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]

Figure 11 – Sample test case written in White
 

12. Conformiq

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]

Figure 12 – Conformiq’s test case design
 

Conclusion

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.

Facebooktwitterredditpinterestlinkedinmail
Thuc Nguyen
Thuc Nguyen has been leading the product teams at LogiGear in delivering quality Test Automation solutions to LogiGear’s customers and services clients. Thuc has a great passion for helping organizations transform their Test Automation, Continuous Delivery, and DevOps practices, as well as empowering testers of all technical levels to thrive in complex enterprise environments.
Thuc Nguyen on Linkedin

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe