Windows Application Driver (WinAppDriver) is a test automation tool designed to support UI testing for Windows applications. It enables developers and testers to automate user interface interactions with Universal Windows Platform (UWP), Windows Forms (WinForms), Windows Presentation Foundation (WPF), and Classic Windows (Win32) apps on Windows 10.
Key Features:
Cross-platform Automation: Supports testing across multiple Windows app frameworks including UWP, WinForms, WPF, and Win32.
Selenium-like API Compatibility: Enables use of familiar Selenium WebDriver commands for automating Windows UI tests.
Remote Execution: Can be configured to run on different IP addresses and ports, facilitating distributed testing environments.
Integration with CI/CD Pipelines: Supports automation in continuous integration and delivery workflows.
Winget Deployment: Available via the Windows Package Manager (winget), allowing easy installation and deployment using command line.
Target Audience and Benefits:
Ideal for QA engineers, developers, and test automation professionals who need to streamline UI testing of Windows applications. Using WinAppDriver helps improve test coverage, reduce manual testing efforts, and accelerate time-to-market by enabling automated validation of application functionality across different Windows platforms.
README
Windows Application Driver
Windows Application Driver (WinAppDriver) is a service to support Selenium-like UI Test Automation on Windows Applications. This service supports testing Universal Windows Platform (UWP), Windows Forms (WinForms), Windows Presentation Foundation (WPF), and Classic Windows (Win32) apps on Windows 10 PCs.
Install & Run WinAppDriver
Download Windows Application Driver installer from
Run the installer on a Windows 10 machine where your application under test is installed and will be tested
Run WinAppDriver.exe from the installation directory (E.g. C:\Program Files (x86)\Windows Application Driver)
Windows Application Driver will then be running on the test machine listening to requests on the default IP address and port (127.0.0.1:4723). You can then run any of our Tests or Samples. WinAppDriver.exe can be configured to listen to a different IP address and port as follows:
Samples - used to showcase various commands and operations such as opening applications, finding elements, clicking elements, typing keystrokes, reading texts, etc; and can be run against built-in Windows 10 applications such as Alarms & Clock, Calculator, and Notepad.
Tests - used to verify the functionality of Windows Application Driver itself. The tests cover each API endpoints extensively and also against all basic UI control scenario, and demonstrate how to invoke certain command in C#. In addition, they show how to interact with some more complex UI elements such as DatePicker, SplitViewPane, Slider, etc.
UI Recorder - standalone tool that aims to provide users a simpler way of creating automaton scripts by recording UI events performed by the user and generating XPath queries and C# code on the fly. Read more about it on our Wiki.
Docs - subdirectory hosting WinAppDriver related documentation.
Vote on New Features
Add your feature request in issues or :+1: (+1) existing issues labeled as Enhancement