Please note that the underlying White framework has been deprecated (Dec 2019). That means we will stop developing this wrapper library and encourage users to migrate to other tools. Please check White automation framework project page for suggestions.
WhiteLibrary provides the means to automate Windows GUI technologies with Robot Framework. WhiteLibrary wraps the White automation framework.
Supported technologies include:
Installing the latest stable release:
pip install --upgrade robotframework-whitelibrary
Installing the version containing the latest updates in master
:
pip install --upgrade --pre robotframework-whitelibrary
Item locators can be found using a GUI inspection tool, for example Inspect.exe or UIAVerify that are included in Windows SDK.
Windows 10 SDK: https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk
Select at least the following features in the installer:
Windows 7 SDK: https://www.microsoft.com/en-us/download/details.aspx?id=8279
#whitelibrary
#whitelibrary-dev
(development related discussion)This section contains instructions for developing WhiteLibrary.
Install NuGet Command Line Interface (CLI) to install required DLL packages (TestStack.White and Castle.Core).
Install Python, if not already installed. Versions 2.7, 3.5 and 3.6 are supported at the moment.
To install Robot Framework and Python for .NET, run
pip install robotframework pythonnet
or alternatively you could use the provided requirements files (requirements.txt or requirements-dev.txt):
pip install -r requirements-dev.txt
To make modifications to and build the test application (UIAutomationTest.exe), install Visual Studio. The test application is a WPF application developed with C#.
If you want to edit Python with Visual Studio, Python Tools are required. They're part of Visual Studio 2017 installer, see details about what to select during installation: https://github.com/Microsoft/PTVS
To install WhiteLibrary from source, in the root folder of the project run
local_install.cmd
Open UIAutomationTest\UIAutomationTest.sln
in Visual Studio and build the solution in Visual Studio.
This will create the executable used in the Robot test suite, UIAutomationTest\bin\Debug\UIAutomationTest.exe
.
robot --outputdir output --exclude no_ci --loglevel DEBUG:INFO atests
robot --outputdir output --exclude no_ci --loglevel DEBUG:INFO -t "Example Test Case" atests
no_ci
will run tests against the old (Win32) version of Windows calculator, and is typically excluded from test runs.Project relies on flake8 and pylint for static analysis. In order to run those locally, one has to install them (automatically installed if dependencies are installed via requirements-dev.txt):
pip install flake8 pylint
to run either one, go into to root of the project run execute analyzer, like this:
flake8
pylint src/