WADLibrary is a Application testing library for Robot Framework that utilizes Win App Driver.
This library was created to be able to work with multi-window use cases compared to Appium.
- Windows 10 PC
- Python 3
- Robot Framework
pip install robotframework-wadlibrary
- Download Windows Application Driver installer from https://github.com/Microsoft/WinAppDriver/releases
- 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
). WinAppDriver.exe
can be configured to listen to a different IP address and port as follows:
WinAppDriver.exe 4727
WinAppDriver.exe 10.0.0.10 4725
WinAppDriver.exe 10.0.0.10 4723/wd/hub
Note: You must run
WinAppDriver.exe
as administrator to listen to a different IP address and port.
This repo includes a demo that runs a automated script with Windows 10s included calculator and paint app. To run the demo you don't need to start up WinAppDriver beforehand since the test will do it on its own. Note that if you have installed the driver in a non-default path you have to submitt the driver path with the driver_path variable in the import.
You can also start the driver manually for debugging or just to see the driver output. Follow the intructions inside the test file and start the driver manually before running any tests.
path_to_repo/Demo robot wadlibrary_demo.robot
-
Inspection Tool , Part of Windows 10 SDK that can be found here (I recommomend to check this question on StackOverflow for instructions on how to install it if you dont want to install the whole SDK)
-
WinAppDriver UI Recorder , UI Recorder tracks both keyboard and mouse interactions against an application interface—representing a UI action., You can find it in the same place as the driver. Download Link
This is my first python package so many things are not fixed yet, such as requirements.
Looking for Keyword Documentation? There is none! (Yet) For now you'll have to simply look in the keyword file.
I've included a simple demo that shows how to use the main feature (compared to appium), i.e. switching between windows.