Is it possible to test desktop applications using selenium? Suppose we have a simple application like gtalk. A desktop application, can we automate that application with selenium.


No, Selenium 2 / WebDriver is for web applications only. But there are other tools to automate desktop application GUI tests.

You can also search for "desktop application" on this site to find recommended tools.

  • Hey I have used UFT for testing desktop application. I was just willing to know is there any way to test them using selenium. Jul 18 '14 at 6:22
  • @Twaldigas, I wouldn't necessarily agree. I've heard of people testing desktop applications with embeded HTML content using elements of Selenium.
    – dzieciou
    Jul 20 '14 at 16:52
  • 3
    @dzieciou Yes, some people use Selenium for other types of applications or other types of tests. I read about performance tests of web applications with Selenium. But Selenium is for GUI tests of web applications and nothing else. This is the intended area. Nothing else. There are proper tools for desktop application test automation.
    – Twaldigas
    Jul 21 '14 at 5:41
  • @Twaldigas, do those other tools handle embedded HTML?
    – dzieciou
    Jul 21 '14 at 7:54
  • 2
    @dzieciou I do not know any tool for that. But I can not imagine how to test that with Selenium. Embedded HTML means that the HTML pages will be displayed in the desktop application. But with Selenium you can control browsers only.
    – Twaldigas
    Jul 24 '14 at 7:49


Winium.Desktop is an open source test automation tool for automated testing of Windows application based on WinForms and WPF platforms. Winium.Desktop.Driver implements Selenium Remote WebDriver and listens for JsonWireProtocol commands.

  • Looks interesting :) Nov 24 '15 at 10:42
  • I tried but found it not stable enough to handle custom UI controls.
    – CVA
    Mar 25 '19 at 11:46

Selenium does not have the capability to automate the desktop applications.It cannot recognize the objects in a desktop application. Selenium drives the testing using the driver object that identifies the elements on screen using id, cssselector, xpath etc. which are not present in a desktop app. Though there is ID behind the elements in a desktop app but as we all know that IDs are dynamic and cannot be relied on. Testers use autoIT,sikuli along with selenium to interact with windows UI if required by a website i.e. for the features like upload a file etc.


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. Grid 2.0 from webdriver was designed with TWIN in mind, so you can test against multiple virtual machines with different OS installed and let grid 2.0 install the last version of the AUT and route the tests to the correct VM. You can explore and download it from here: https://code.google.com/archive/p/twin/


If the desktop application is Java Swing or Java FX based then you can use marathon-java-driver which allows you to connect to your application using Selenium RemoteWebDriver and make calls.Disclaimer that I'm also one of the contributor for the project.




Winium. Google search for it. I haven't tried it yet, but it looks awesome.


No, not with Selenium. If you are willing to consider something besides Selenium, look at SmartBear's TestComplete. It works well with web apps and desktop apps.


  • 1
    TestComplete doesnt use selenium to test a desktop application (as asked in the question). It used a different (propitiatory) framework
    – ECiurleo
    Jun 16 '16 at 11:12

weather GUI and slkuli are open soure

  • 2
    This isn't really an answer to the question, which asks if a desktop application can be tested with Selenium.
    – bish
    Aug 14 '15 at 4:49
  • 1
    What is weather GUI and where can I find it? Aug 14 '15 at 11:06
  • So are you suggesting these as alternatives to Selenium? Or are you saying you can use Selenium to control these tools somehow?
    – corsiKa
    Aug 14 '15 at 14:34

Not the answer you're looking for? Browse other questions tagged or ask your own question.