DESKTOP TEST AUTOMATION


Desktop Test Automation Tool Selection
There are a couple tools out there that will allow you to automate your tests against desktop applications. Currently (year 2025), the strongest and best supported one is provided by the Appium team in corporation with Microsoft. This is what I will cover in this article.
Disclaimer
Unfortunately, the official GIT repo is outdated, so it can be a tad bit difficult to start out your desktop test automation journey. That is why I decided to show an example in Java. I have implemented desktop TAF's in Java, C# .NET and python so far. It is possible to do it in many different languages, as Appium is based on Selenium. If you can implement it in one language, then you can certainly implement it in another language as well. So I don't plan to show implementation examples in .NET and python in this article, but if there's demand, I can implement those alternatives and make blog posts to demonstrate the differences.
+
Appium WindowsDriver Prerequisites
So let's look at the prerequisites that are necessary for enabling Appium to test your desktop apps for you.
-
Enable Windows Developer Mode
-
Install Windows SDK
-
Install WinAppDriver
-
Install Appium + Selenium
-
Install Accessibility Insights for Windows
WinAppDriver vs WindowsDriver
WinAppDriver and WindowsDriver are not the same! WinAppDriver is provided by Microsoft, and it enables test tools to interact with Windows applications. WindowsDriver is Appium's driver that leverages the WinAppDriver in order to interact with Windows applications, and adds the Appium/Selenium flavor to it.
Enable Windows Developer Mode
-
Open Developer settings
-
On the For developers dialog, turn on the Developer Mode
-
"Install apps from any source, including loose files."
-
-
Read the disclaimer and click Yes to accept the change
In case your organization does not allow you to turn on the developer mode, then you can change it with group policy or you can change it in the registry as well.
Alternative way of enabling developer mode - Winaero article
Edit Group Policy
-
Press WIN + R then type in gpedit.msc
-
Go to Computer Configuration -> Administrative Templates -> Windows Components -> App Package Deployment
-
Click "Allows development of Windows Store app."
-
Change the default value from "Not Configured" to "Enabled"
-
Click OK to save
Change the Registry
-
Press WIN + R then type in regedit
-
Go to HKLM\Software\Policies\Microsoft\Windows\Appx
-
Copy the above path and paste it into the Registry Editor's path after Computer\ then hit enter
-
-
Right-click anywhere inside the right side of the window, select New -> DWORD Value (32-bit)
-
Rename the value to AllowDevelopmentWithoutDevLicense
-
Open the value and change its data from 0 to 1
Install WinAppDriver
Official release page for WinAppDriver
For me it installed the driver to the following folder: C:\Program Files\Windows Application Driver
Make a shortcut to your desktop, or wherever it is convenient for you.
Install Accessibility Insights for Windows
Official download site for Accessibility Insights for Windows
Setup Your Project
I'll let you decide which IDE and build tool you are using. I decided to go with VS Code and Gradle. Here's the official VS Code guide on how to set up gradle (or maven) in your Java project.
I also published a short guide in my blog:
Create Your First Windows Desktop Test
I like to start with the most simple test case to just check if my configuration works or not.
How to Use Accessibility Insights
Shift + F9 - bring the Accessibility Insights app to the foreground or minimize it.