Skip to main content

Robotframework-FlaUI Library

License
Python Builds (x86)
Python Builds (x64)
Tests
Python python_312 python_313 python_314 python_315
Robotframework
PyPi

Introduction

Robotframework-FlaUI is a keyword based user interface automation testing library for Windows applications like Win32, WinForms, WPF or Store Apps. It's based on the FlaUI user interface automation library.

The library supports Microsoft UI Automation interfaces UIA2 and UIA3 (default). Elements are located by XPath. Mouse keywords also accept absolute screen coordinates or X/Y offsets from an element's clickable point. Keyboard keywords can send input globally when no XPath is given.

Installation

Install the latest stable release:

pip install --upgrade robotframework-flaui

Usage

*** Settings ***
Library    FlaUILibrary    uia=UIA3    screenshot_on_failure=True    screenshot_mode=FILE    screenshot_suffix=jpg    timeout=1000

Library import arguments:

Argument Default Description
uia UIA3 Microsoft UI Automation interface: UIA2 or UIA3
screenshot_on_failure True Take a screenshot when a keyword fails
screenshot_dir output Screenshot directory relative to the Robot output directory
timeout 1000 Default element find timeout in milliseconds
screenshot_mode FILE Persist screenshots as FILE or BASE64
screenshot_suffix jpg Screenshot file type when mode is FILE: png, jpg or jpeg

Mouse examples:

Click    ${XPATH}
Click    x=100    y=200
Click    ${XPATH}    x=10    y=20

Keyboard examples:

Press Key    t'Text'    ${XPATH}
Press Key    t'Text'
Press Keys    ${KEYS}

A full keyword reference is available in the keyword documentation.

Dependencies and python support

The robot framework FlaUI is supposed to support the current Python 3 versions.

Required dependencies

See dependencies from Documentation

Runtime dependencies are listed in requirements.txt:

  • Robot Framework 3.2.2 or newer
  • Python.Net 3.0.0 or newer
  • robotframework-pythonlibcore
  • typing-extensions

Python.Net Wrapper Issues

Robotframework-Flaui 1.x

  • With the release of Python.Net version 2.5.2, Python 3.9 support was implemented for the first time.
  • However, no official support for Python 3.9 has been released yet.
    • For more information see the issue #1389
  • If there are problems installing the Python.Net library, please use Python 3.8 instead.
  • This is only a potential problem by all robotframework-flaui 1.x versions which are implemented by Python.Net 2.5.2

Robotframework-Flaui 2.x

  • Sometimes an AccessViolationException wil be occure on latest Python.Net Version v3.0.1
    • For more information see the issue #1977
    • A workaround is to set Python's memory allocation environment variable "PYTHONMALLOC=malloc"

Documentation

Keyword HTML and XML docs are generated by libdoc.py during the build blueprint stage and published from the documentation GitHub branch to GitHub Pages.

RFHUB2

RFHUB2 is an opensource project aimed to provide nice and easy way of collecting, browsing and sharing documentation of existing keywords written in RobotFramework and python. Built with Material-UI and FastAPI, served by Uvicorn.

Keyword XML files live on the documentation branch under docs/keywords/. Check out that branch and import them with RFHUB2-CLI:

rfhub2-cli .\docs\keywords\
rfhub2-cli .\docs\keywords\<VERSION>

GUI Inspector Tools

There are various tools around which help inspecting application that should be ui tested or automated.

Some of them are:

Examples

Examples of use can be found in the atests folder.

Development

Preconditions

  • Install Python, if not already installed.
  • Python 3.8 or newer is supported (CI covers 3.8–3.15, x86 and x64).

Requirement files

File Purpose
requirements.txt Runtime dependencies of the library
requirements-dev.txt Local build, lint and test tools
requirements-buildsystem.txt Builddrone
requirements-artifact-upload.txt Twine, used by the pypi blueprint stage

Dependency installation by Builddrone

Install Builddrone, then run stages from blueprint.json:

python -m pip install -r requirements-buildsystem.txt
python -m builddrone <stage>

Builddrone documentation: https://nepitwin.github.io/Builddrone/latest/

Test-Applications

Two test projects were used for the UI automation:

  • FlaUI WPF Test App 'Standard application that contains all common UI elements'
  • Notifier Test App 'Application which closes automatically after a time'

Testing locally TLDR

python -m venv .venv
.venv/Scripts/pip install -r requirements-dev.txt

cd ./atests
../.venv/Scripts/robot -v UIA:UIA3 -d ../result -P ../src -t "Element Should Be Offscreen" Element.robot

Building and testing with Builddrone

Local CI is defined in blueprint.json and executed by Builddrone:

python -m builddrone <stage>

Builddrone loads blueprint.json from the working directory, selects the named stage and runs its module steps in order. Relative paths are resolved from the directory that contains blueprint.json.

Stage Purpose
build Create .build.venv, install requirements-dev.txt, build the package into dist/, generate keyword docs into keywords/
cleanup Remove generated folders and local virtual environments
robocop Run Robot Framework lint checks via robocop_lint.py in .testing.venv
pylint Run pylint for the Python sources in src
test Run UIA2 and UIA3 acceptance tests, merge reports into result/
pypi Upload dist/*.whl and dist/*.tar.gz to PyPI (AppVeyor, git tags only)
appveyor_upload_tests Upload JUnit results to AppVeyor
appveyor_upload_failure_artifacts Zip result/ and upload it as an AppVeyor artifact on failure

The build stage writes:

  • Wheel and source distribution under dist/
  • Keyword documentation keywords/keywords.html and keywords/keywords.xml (generated by libdoc.py)

The test stage runs atests twice (UIA2 and UIA3), merges the Robot outputs with rebot into result/, copies screenshots and converts the merged report with parsly.py.

robocop, pylint and test share .testing.venv. build uses .build.venv. pypi uses .upload.venv.

Example full local CI run:

python -m pip install -r requirements-buildsystem.txt
python -m builddrone build
python -m builddrone robocop
python -m builddrone pylint
python -m builddrone test

AppVeyor (appveyor.yml) runs the same four stages on every branch except documentation. The pypi stage runs only when the build is triggered by a git tag.

Contributing

Code changes are welcome via pull request. Release tagging, PyPI upload and keyword documentation publishing are not part of this workflow.

  • add or update keywords in folders
    • src/FlaUILibrary/flaui/module
    • src/FlaUILibrary/keywords
  • add or update tests in folder atests
  • update CHANGELOG.md under [Unreleased]
  • open a pull request against main

Acknowledgements

FlaUI

  • Thanks to @Roemer for the passion to create and maintain the FlaUI project.
  • Thanks to FlaUI developers and maintainers for this project.

Metadata

Release files for robotframework-flaui 6.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for robotframework-flaui 6.0.0
File Size Uploaded Provenance
robotframework_flaui-6.0.0.tar.gz 328.1 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for robotframework-flaui 6.0.0
File
robotframework_flaui-6.0.0-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details
robotframework_flaui-6.0.0-cp315-cp315-win32.whl CPython 3.15 CPython 3.15 Windows x86-32 Details
robotframework_flaui-6.0.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
robotframework_flaui-6.0.0-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
robotframework_flaui-6.0.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
robotframework_flaui-6.0.0-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
robotframework_flaui-6.0.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
robotframework_flaui-6.0.0-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
robotframework_flaui-6.0.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
robotframework_flaui-6.0.0-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
robotframework_flaui-6.0.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
robotframework_flaui-6.0.0-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
robotframework_flaui-6.0.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
robotframework_flaui-6.0.0-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details
robotframework_flaui-6.0.0-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
robotframework_flaui-6.0.0-cp38-cp38-win32.whl CPython 3.8 CPython 3.8 Windows x86-32 Details

Total release size: 6.1 MB

Release files / robotframework_flaui-6.0.0.tar.gz

Download URL robotframework_flaui-6.0.0.tar.gz
Size 328.1 kB
Tags Source
SHA-256 checksum
How to use checksums
bd8260c744a6e8865a1dafde2fa0ada5b89a5088b2a23d1978ef0ed0eaeba361
BLAKE2b-256 checksum
How to use checksums
f83d1ad3cc4cd6835f5031123c1d559018e49ab647e53e94a1e6b299bb99bcbe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.10

Release files / robotframework_flaui-6.0.0-cp315-cp315-win_amd64.whl

Download URL robotframework_flaui-6.0.0-cp315-cp315-win_amd64.whl
Size 366.7 kB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
b78e83538f9cd8ce28b2dd2e0ec15013cdfa7251411ab8dc0d1668311ac11ab9
BLAKE2b-256 checksum
How to use checksums
55220e7ac5b025a980883e435c24cb91b0744b5d45f4cfb0eb49af6c40740426
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.15.0rc2

Release files / robotframework_flaui-6.0.0-cp315-cp315-win32.whl

Download URL robotframework_flaui-6.0.0-cp315-cp315-win32.whl
Size 366.7 kB
Tags CPython 3.15 Windows x86-32
SHA-256 checksum
How to use checksums
9e8514c68446fb4c882a0d22038c0d6c86aa1c54269ae323106539a5fcd51639
BLAKE2b-256 checksum
How to use checksums
0a049ffb0c2fad4d6d3ebadd8b473ccebaeb8933c52ead895a03df4f4f18e351
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.15.0rc2

Release files / robotframework_flaui-6.0.0-cp314-cp314-win_amd64.whl

Download URL robotframework_flaui-6.0.0-cp314-cp314-win_amd64.whl
Size 366.7 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
b25a069e9e0977bbbc69339f827221de62561c7d5d23273e5d76664d9bc9eaf8
BLAKE2b-256 checksum
How to use checksums
74cc1fe1a69372d1c73857a77310765c48e680b6c3adbbcefdff89ed4555da42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Release files / robotframework_flaui-6.0.0-cp314-cp314-win32.whl

Download URL robotframework_flaui-6.0.0-cp314-cp314-win32.whl
Size 366.7 kB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
ec5f5cb9be042292e86c1bb0f19832f868bf9451b1175938fe8d5afd52fa851c
BLAKE2b-256 checksum
How to use checksums
110efc27b5aedaf3bda4698c8e9c01a50ee29da1038a27eba5ffd05bc4c5de0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Release files / robotframework_flaui-6.0.0-cp313-cp313-win_amd64.whl

Download URL robotframework_flaui-6.0.0-cp313-cp313-win_amd64.whl
Size 356.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
ed1ce2ff62de5512f46934a7eb7ebd74f21fabedc57165c1984da18205eda630
BLAKE2b-256 checksum
How to use checksums
1ebb3eb0dc94ed8626adb6ba1a736ce4565f5ca267f85415557bdbf2e8f41cc9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release files / robotframework_flaui-6.0.0-cp313-cp313-win32.whl

Download URL robotframework_flaui-6.0.0-cp313-cp313-win32.whl
Size 356.5 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
0ea3be7b3dc9b6e23381674bd9fa033bc0e871c961042a261cc078145165d413
BLAKE2b-256 checksum
How to use checksums
87f287979a15643711934b08b86b7adee6e8837a6c1e3f007bec7a6d352853c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release files / robotframework_flaui-6.0.0-cp312-cp312-win_amd64.whl

Download URL robotframework_flaui-6.0.0-cp312-cp312-win_amd64.whl
Size 356.5 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
21069af350453dd972ff710cc44a9354a5219b02e8a59f5121670482460a1d97
BLAKE2b-256 checksum
How to use checksums
cae8758287ba5f25272a0643e43bacf14f81a6141e1cc1f3be621c031944bb8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / robotframework_flaui-6.0.0-cp312-cp312-win32.whl

Download URL robotframework_flaui-6.0.0-cp312-cp312-win32.whl
Size 356.5 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
58be0b13ae9148c61dc79d0b21613037a95e1809db72f2ebb9a91db29cab453d
BLAKE2b-256 checksum
How to use checksums
aae4c17939cfe25220d3c7c9e963e8a6380b1a324ae9a5f5e66454e454714c74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / robotframework_flaui-6.0.0-cp311-cp311-win_amd64.whl

Download URL robotframework_flaui-6.0.0-cp311-cp311-win_amd64.whl
Size 356.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
417c5c5bdb5ffd74d5ab77ac381b94f0bba20f202b773e54448ec688e1e73ecb
BLAKE2b-256 checksum
How to use checksums
e6210bb2394122e267bbe1d710e8e51799cd0f965642c9c051914ea869abdf94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / robotframework_flaui-6.0.0-cp311-cp311-win32.whl

Download URL robotframework_flaui-6.0.0-cp311-cp311-win32.whl
Size 356.5 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
72b027761dceac616a7b3194375312d41b572108886dbdac3deba96bb733f842
BLAKE2b-256 checksum
How to use checksums
4e0e21995b543efd73363ec5a568f3dc32c47ed7a31119943131d24063fe71d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / robotframework_flaui-6.0.0-cp310-cp310-win_amd64.whl

Download URL robotframework_flaui-6.0.0-cp310-cp310-win_amd64.whl
Size 356.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
42a26f3d3d4f3372913d4707e96f01ed72ee16415d22437464f00a00bd44ef61
BLAKE2b-256 checksum
How to use checksums
d16c70a55aa8abb328236fab38730d2551e5008e41cde404ae72b73c1fb02cd3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Release files / robotframework_flaui-6.0.0-cp310-cp310-win32.whl

Download URL robotframework_flaui-6.0.0-cp310-cp310-win32.whl
Size 356.5 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
43b2dc3f259cf5a49d2824158c6371dda1af0aeea270bf727acfc108e85a5956
BLAKE2b-256 checksum
How to use checksums
cf3f0128e86c440821afc4f20acdb6bb5ec8492b756e6c7744095219bdfe2f64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Release files / robotframework_flaui-6.0.0-cp39-cp39-win_amd64.whl

Download URL robotframework_flaui-6.0.0-cp39-cp39-win_amd64.whl
Size 356.5 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
449cb1df8df67ef5dbc3a97374d4cd3a5f252c707c4ceb8ed0a61229eb47f448
BLAKE2b-256 checksum
How to use checksums
d779c378f5bd87b03e4d6b68c44974a70bdbce2f5f635ab856ecddeaefc962be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.13

Release files / robotframework_flaui-6.0.0-cp39-cp39-win32.whl

Download URL robotframework_flaui-6.0.0-cp39-cp39-win32.whl
Size 356.5 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
5865948989a1a9222ce1dec3b72908a2103e32afa73f02a12cf0cdadda4bdd01
BLAKE2b-256 checksum
How to use checksums
928fce8d04bb395ae6d22361657a9e9f83def426590e12ed3f2b76e42ec4966d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.13

Release files / robotframework_flaui-6.0.0-cp38-cp38-win_amd64.whl

Download URL robotframework_flaui-6.0.0-cp38-cp38-win_amd64.whl
Size 356.5 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
0232ed2063b89788d682c835711e30e1f7681721efaf8f7f1d296b428fd1c25b
BLAKE2b-256 checksum
How to use checksums
6a1ea2d69b163448e5af09f07b84bffe0c8aaa6ca650f0c758df37fb34393a81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.10

Release files / robotframework_flaui-6.0.0-cp38-cp38-win32.whl

Download URL robotframework_flaui-6.0.0-cp38-cp38-win32.whl
Size 356.5 kB
Tags CPython 3.8 Windows x86-32
SHA-256 checksum
How to use checksums
06ffe9422a1a23a8b44ae8eac437c2258efb13bed2b61ee0ae27933da9f9e8e1
BLAKE2b-256 checksum
How to use checksums
58aab3eab903ec257bdda5d9b5a44fb4b7039604939dc66058b02c0203a63c47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.10

Security for robotframework-flaui 6.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

6.0.0 This release

17 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page