Many QAs asked this question when it comes to automating Desktop Application. And very less QAs actually get chance to do Desktop application automation.
In this post we will share some of commonly used tools available open source that going to help you in achieving desktop automation.
Major tools that are available for Desktop Application Automation are:
Windows Application Driver developed by Yousef Durr of Microsoft, it is the Windows implementation of Appium to automate Windows applications.
Windows Application Driver is a service to support Selenium-like UI Test Automation on Windows Applications. This service supports testing Universal Windows Platform (UWP), Windows Presentation Foundation (WPF), Windows Forms (WinForms) and Classic Windows (Win32) apps on Windows 10 PCs. The Windows Application Driver complies with the JSON Wire Protocol standard and some application management functionalities defined by Appium.
Winium.Desktop is a Selenium Remote WebDriver implementation for the automated testing of Windows applications based on WinFroms and WPF platforms
3. White Framework
Do you need to automate a thick client application like WPF, Silverlight, Win32 or WinForms? If so, then the White frameworkmay be the automation framework for you.
White is an open-source library from Test Stack. Like CodedUI, it has a more narrow scope; it only targets desktop applications, not Web applications. Both CodedUI and White are based on UI Automation Library for Microsoft.
SikuliX can help automate anything you see on the screen of your desktop computer running Windows, Mac or some Linux/Unix. SikuliX uses image recognition powered by OpenCV to identify and control GUI components.
AutoIt v3 is a freeware, BASIC-like scripting language designed for automating the Windows GUI and general scripting.
While it’s not the most robust of automated testing tools, many teams integrate AutoIt with Selenium to work around non-browser windows that appear in an automated test workflow.
Do you love using Python as your go-to language for everything, and also need to automate Windows desktop applications? If so, check out pywinauto.
It describes itself as a GUI automation library written in pure Python and well developed for Windows GUI. At its simplest, it allows you to send mouse and keyboard actions to dialogs and controls on both Windows and Linux, while more complex text-based actions are supported on Windows only thus far (Linux AT-SPI support is under development).
The latest release introduced MS UI Automation (UIA) support, which includes WinForms, WPF, Qt browsers, Store apps-based tests and more
Jubula helps you test desktop Java applications.
Jubula provides automated functional GUI testing for various types of applications. It is aimed at teams who want their automated tests to be written by test experts from the user perspective, without requiring any coding effort. Jubula tests incorporate best practices from software development to ensure long-term maintainability of the automated tests.
Jubula will also try to be an anchor point for a broader testing scope including requirements analysis, code coverage of Java applications and test metrics.
It majorly supports Swing, SWT/RCP/GEF, JavaFX and HTML applications
7. Oracle Application Testing Suite
Are you looking to test Oracle based Applications.
Oracle Application Testing Suite is a comprehensive, integrated testing solution for Web applications, Web Services, packaged Oracle Applications and Oracle Databases.
Oracle Application Testing Suite (OATS) contains a bunch of integrated products to help with Oracle Functional Testing for regression testing of Web applications, and Oracle Load Testing for performance testingof your Oracle packaged solutions.
This integrated, full lifecycle solution enables you to define and manage your application testing process, validate application functionality, and ensure that your applications will perform under load. With Application Testing Suite, you can deploy your Web applications and Web Services in less time while maximizing the efficiency of your testing team.
Building better QA for tomorrow