Can I use Selenium WebDriver to automate a Windows Desktop Application?

A question posted on the forum of my Selenium WebDriver course. “Can I use Selenium WebDriver to automate a Windows Desktop Application?”

I have updated and expanded the answer I provided on the course forum into this blog post.

Answer:  No. WebDriver is Web only. But…

Since WebDriver has a RemoteWebDriver architecture, people have created RemoteWebDriver implementations which aim to automate Windows Applications:

Some options that I have not tried, based around WebDriver:


I have not had to automate windows for a long time.

When I last automated Windows I used AutoIt:

I started work on my own Java Windows Automation API, but I haven’t kept that up to date since I haven’t had to automate windows. JWinAuto on sourceforge.

Andrew Davis has created a similar implementation called JAU.​

Also available is the AutoIt4Java implementation:

You might also consider AutoHotKey, a simple language like AutoIt and widely used.

I have heard of…

I have heard of people successfully using White:

I have also heard people successfully use Sikuli:

Other standalone tools:

This entry was posted in Selenium Simplified Blog, WebDriver. Bookmark the permalink.

12 Responses to Can I use Selenium WebDriver to automate a Windows Desktop Application?

  1. Arjun says:

    Awesome list of windows automation application using selenium, Need to take a look at TWIN and Winnium… will let u know the feedback…

  2. Prashu says:

    YES we can automate Window Applications as well using Selenium WebDriver, but not full level. Selenium WebDriver by itself would not support window automation, however when we integrate Sikuli with WebDriver, we can perform minimum Click operation

  3. David Luu says:

    You may also want to check out my Selenium WebDriver wrappers for desktop GUI tools, currently the following have been implemented to work:

    and this project adds Sikuli support with Selenium Grid, although not via WebDriver API:

    There’s also this now from Microsoft:

  4. virat says:

    can selenium automate mainframe applictions?

    • Alan says:

      I have not searched the internet to see if there are any drivers for mainframe interfaces. My initial reaction is that I doubt it, but someone might have created a driver for terminal emulation of which I am unaware. You’d have to search for it to find out.

  5. MT says:

    I can’t seem to grasp why one would use Java / Selenium / AutoIt (or other scripty language) to test a Desktop App. Isn’t Selenium a Web App test tool (aside from Grid, and some loose framework) ?
    What about Java / AutoIt / JUnit? Is there a reason I’m missing for the Selenium component?
    I’m not extremely well versed in Selenium, I’m asking because I’m currently faced with this very issue. Java / Selenium is being pushed for testing a desktop application, and I don’t believe (or know enough) to see that it makes sense(?)

  6. Pintoo Wood says:

    Another option is to use marathon for Java applications. Though, marathon supports record/replay – it also includes Selenium/WebDriver bindings for Java applications. You can see a example project on the github site:

Leave a Reply

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