Desktop App Automation Tools

A great thread popped up on Slack today about tools for desktop app automation:

  1. WinAppDriver - Windows Applications automation only. Supports only Win 10 machines
  2. Katalon DSL - Version 0.9.5 has an alpha release for supporting Desktop apps automation
  3. SikuliX - A go-to for most of the Desktop apps automation
  4. Kantu
  5. Robot Framework
  6. Appium’s Mac Driver - for automating Mac Desktop apps
  7. AutoIT
  8. FlaUI GitHub - FlaUI/FlaUI: UI automation library for .Net
  9. TagUI GitHub - kelaberetiv/TagUI: Free RPA tool by AI Singapore

Do you have any tools you would add to this list?


At our work we use PyWinAuto, which I like because it is based on Python :snake:

A great overview which list a lot of the above is this post from the Automation Guild by Joe Colantonio.

And last point, One must not forget that Robot Framework is NOT for desktop automation automation. It is just a wrapper around an automation engine. I have used it in the past in combination with Selenium.


Great list assuming that you have access to the code base. For commercial applications like SAP, AX and many other standard desktop applications these tools might fall short. Alternatives for automation on top of standard applications could be:

  • Tricentis Tosca/RPA
  • LeapWork

as discussed here:

Has anyone seen a good solution to desktop automation of a mainframe emulator?

While I’m aware that test automation is more and more a coding activity. It also needs to be viewed from who does the testing and if you are looking into “automation in testing”, ie. supporting the test activity with tools. The tools have to be super user-friendly if it has to provide automation support for testing performed by non-technical staff.


I’ve been looking for a cross-OS desktop testing solution, and the options do appear to be extremely limited compared to the number of web-testing packages! Further to that, a few of the tools say they do macOS and Linux, but what they mean is you can use their tool/IDE on that OS, but then it has to target a PC and can only actually test Windows apps… (Katalon is one of these, from what I gather from their own website, but please do correct me if you have experience saying otherwise.)

We’re looking more at the recorder-style packages rather than writing tests from scratch as code, and we trialled eggplant a couple of years back and I thought it was great, but the business wanted to go in a different direction. Now, we’re back on the hunt again and I’m surprised to discover it’s still the only one I can find which genuinely does Windows + macOS + Linux applications (plus web and mobile apps, but they’re less of a concern for me).

Another one not on your list, we recently trialled Smartbear, and it looks decent and was pretty easy to get started with, but it can’t detect the custom objects in our application as we draw them ourselves (which is also a common issue we find with desktop app test products), and so whilst it supports a “low-level mode” capturing just mouse and keyboard co-ords, this looked extremely difficult to build something robust and reliable for real desktop application testing.

Tosca, we want to trial and I got the exe yesterday, but the trial facilities on their website appear to be pretty broken just now, and I haven’t had chance yet to chase their support about the missing trial key/account details…

Does anyone here have recent experience with eggplant (AKA “testplant” up until fairly recently) and cares to share your thoughts?


winium-for winfroms and WPF platforms
jubula-for java applications

1 Like

Now a days Desktop App testing is very important and is performed in every qa services company.

Desktop App testing is a type of testing that examines the functionality, security, usability, and stability of the application after it gets deployed.

In desktop testing, a tester has to pay a lot of attention to the installation as well as the un-installation process of the application and it requires several computers with different configurations.

It is unique from the web app testing because it runs on a single workstation and the web applications are designed to be distributed and can be accessed by a URL.

Desktop applications are designed for a single user who is signed into the account at that time and it requires numbers of hardware, browsers devices, and combinations to run.

Desktop Automation and web automation both are similar and start with what to automate and focus on the areas with the highest priority.

It is different from mobile testing.

To ensure the success of desktop Automation there are multiple tools and approaches which are necessary.

There are plenty of Desktop app Automation testing tools available in the market. Out of which some of them are free and some of them are paid.

Below are some Desktop App Automation testing tools:

White framework
Tricentis Tosca

These are some Desktop App Automation Testing Tools.

Hope this helps.

1 Like

This article is helpful, giving good background about features and how to compare tools:


I know this thread gets resurrected from time to time, and it’s curious how tools like Ranorex dont get a mention. It’s quite an expensive license, but it works quite well. It has a codeless mode, but that quite pants for larger apps, but it is worth a look if you really are stuck.

However I wanted to just pitch an alternative architectural idea. What if you have an app that runs on many many platforms, and is cross compiled, do you limit yourself to one tool that runs on all supported O/S or do you take a chance? What if your app uses a GUI framework that lets it be built on all platforms. What if that framework means your tests on all platforms are pretty much identical looking. Now I get some people saying, that won’t work on mobiles and tablets, true, that won’t work, but if all you do is cover desktops using a tool that hooks into your app’s presentation layer directly, you can now automate the linux flavours, the macos apps and windows app. Yes, you have to write your own, but it is worth it. It’s a lot easier than you think if you do it on day one, and as you can imagine it has some other early advantages. How many apps out there wrote/write automation GUI hooks directly into their native app?