The LEAP

Automation insights and productivity tips from LEAPWORK.

All Posts

Can Selenium be Used for Desktop Applications?

Selenium is a popular automation tool for automation. Many therefore ask the question “Can Selenium be used to automate desktop applications?"

The simple answer is no. Selenium is designed to automate web applications, not desktop applications. To automate desktop applications, you will need a different automation tool designed for desktop automation.

LEAPWORK is such a tool, and you can find a complete comparison of Selenium and LEAPWORK, plus everything you need to know about what Selenium can and cannot automate in our whitepaper on Selenium automation.

New call-to-action

I hear there’s a workaround?

There are partial workarounds, but you are not going to like them. Here’s why.

There are two technologies built right into Windows that are made to automate most types of desktop applications; a new UI Automation technology and a legacy technology called MS Active Accessibility.

While Selenium is considered by many programmers to have an attractive programming model and architecture, UIA and MSAA are both very complex, and unfortunately do not cover all types of desktop applications. For instance, many Java-based desktop applications can only be partially automated with them. There are even serious limitations for certain types of modern applications made with WPF.

You might have read about projects where attempts were made to use the Selenium WebDriver architecture to build extensions for desktop technologies, or to bridge the gap between Selenium and UIA or MSAA.

Here are a couple of links, with descriptions from the respective authors:

  • Desktop is an open source test automation tool for automated testing of Windows application based on WinForms and WPF platforms. 
  • Twin is a tool for automating Windows graphical applications. The design is based on the web automation tool Selenium/WebDriver, and it can be used in similar ways. 
  • Jau is a smallish library which makes it easy for a Java program to invoke a separate Microsoft Windows application, and communicate with it via its GUI
  • White is a framework for automating rich client applications based on Win32, WinForms, WPF, Silverlight and SWT (Java) platforms. It is .NET based and does not require the use of any proprietary scripting languages.

Unfortunately, all these (and more) attempts at creating workarounds so that “Selenium-like code” can be used to automate desktop applications are either abandoned open source projects or narrowly targeted at specific use cases.

If you are a professional programmer looking to writing code to automate Windows desktop applications, UIA and MSAA are the only truly good starting points. You’ll unfortunately most likely have to write a lot of extension code on top of it, to make it fit with the application(s) you are looking to automate. However, there is another way.

Codeless Desktop Automation

LEAPWORK is a codeless automation platform that works with all popular desktop technologies and allows you to automate tests and processes across desktop and web applications. LEAPWORK is powered by native object inspection that works for desktop applications based on all major frameworks. Test cases are built as flowcharts with building blocks, and you simply click UI elements to capture and define operations and flow.

With LEAPWORK you can:

  • Run automation cases with automated input from spreadsheets, databases, and web services
  • Call external sources through APIs and HTTP requests and use the results live
  • Enter data sources and dynamic values with visual connectors to instruct LEAPWORK to iterate through records of data while repeating the tests

LEAPWORK allows you to automate tests across technologies, from SAP and web to desktop and Citrix - and even 3D apps - within a single automation flow.

Learn all about how LEAPWORK compares to Selenium in our whitepaper on Selenium automation. In the whitepaper you will get:

  • A complete overview of what Selenium can and cannot automate
  • What to consider when looking for an alternative to Selenium
  • A detailed comparison of Selenium and LEAPWORK

Download Selenium whitepaper

Related Posts

How to Automate Mobile Web Testing with Codeless Selenium

With brick and mortar stores closed during an on-going pandemic, websites, especially e-commerce websites, have to focus more than ever on creating quality customer experiences online. This has created a need for faster testing and new website functionality.

What is Mobile Web Testing and Why Should It Be Automated?

Websites and web applications are a huge part of how businesses acquire customers. Just one poor customer experience can sway their purchasing decision, especially in e-commerce.  Users who have a negative experience on a mobile website are 62 percent less likely to purchase from that business in the future. - Think with Google. 

Streamlining System Upgrades in ServiceNow with Automated Testing

For many enterprise businesses, ServiceNow is an operational backbone. But twice a year, panic unfolds. ServiceNow release two major mandatory upgrades requiring extensive testing. And more often than not, functional and regression testing gets postponed or left behind.  When these tests are postponed or skipped, it leaves businesses open to risk. In these key moments, system administrators and developers face pressure to complete functional and regression testing at speed.