Skip to main content

Windows GUI testing library for Robot Framework

Project description

Robotframework-FlaUI Library

License
Python Builds (x86)
Python Builds (x64)
Tests
Python python_312 python_313
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.

Installation

Install the latest stable release:

pip install --upgrade robotframework-flaui

Dependencies and python support

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

Required dependencies

See dependencies from Documentation

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

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.

Under docs/keywords are the necessary .XML files to import the keywords.

These can be imported separately according to their version with the RFHUB2-CLI tool or all versions.

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.
  • Only Python 3 is supported.
  • Install Robotframework and Python.Net

Dependency installation by Keen.bat

.\keen.bat dependency

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 locally

Use the provided 'Commander Keen' file:

.\keen.bat test

The script automatically builds the:

  • Library as a wheel file stored in the Dist folder
  • Test documentation located in the Docs folder
  • Automatically installs and runs the robot tests of the library and saves the test results in the Result folder

Following arguments are supported:

.\keen.bat <argument>
  • cleanup - Removes all build folders
  • dependency - Install all python dependencies
  • build - Build wheel file
  • install - Install wheel file
  • test - Test robotframework-flaui (UIA2 and UIA3)
  • test_uia2 - Test UIA2 interface usage
  • test_uia3 - Test UIA3 interface usage
  • pylint - Static code analysis for python code
  • robocop - Static code analysis for robotframework code
  • tidy - Formatter for robotframework code

Releasing a new version - Frequent tasks

  • add or update keywords in folders
    • src/FlaUILibrary/flaui/module
    • src/FlaUILibrary/keywords
  • add or update tests in folder atests
  • update version in src/FlaUILibrary/version.py
  • update CHANGELOG.md
    • add a release near the top
    • add the links at the bottom in section ### Added

Acknowledgements

FlaUI

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robotframework_flaui-4.0.5.tar.gz (310.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

robotframework_flaui-4.0.5-cp313-cp313-win_amd64.whl (335.1 kB view details)

Uploaded CPython 3.13Windows x86-64

robotframework_flaui-4.0.5-cp313-cp313-win32.whl (335.1 kB view details)

Uploaded CPython 3.13Windows x86

robotframework_flaui-4.0.5-cp312-cp312-win_amd64.whl (335.1 kB view details)

Uploaded CPython 3.12Windows x86-64

robotframework_flaui-4.0.5-cp312-cp312-win32.whl (335.1 kB view details)

Uploaded CPython 3.12Windows x86

robotframework_flaui-4.0.5-cp311-cp311-win_amd64.whl (335.1 kB view details)

Uploaded CPython 3.11Windows x86-64

robotframework_flaui-4.0.5-cp311-cp311-win32.whl (335.1 kB view details)

Uploaded CPython 3.11Windows x86

robotframework_flaui-4.0.5-cp310-cp310-win_amd64.whl (335.1 kB view details)

Uploaded CPython 3.10Windows x86-64

robotframework_flaui-4.0.5-cp310-cp310-win32.whl (335.1 kB view details)

Uploaded CPython 3.10Windows x86

robotframework_flaui-4.0.5-cp39-cp39-win_amd64.whl (335.1 kB view details)

Uploaded CPython 3.9Windows x86-64

robotframework_flaui-4.0.5-cp39-cp39-win32.whl (335.1 kB view details)

Uploaded CPython 3.9Windows x86

robotframework_flaui-4.0.5-cp38-cp38-win_amd64.whl (335.1 kB view details)

Uploaded CPython 3.8Windows x86-64

robotframework_flaui-4.0.5-cp38-cp38-win32.whl (335.1 kB view details)

Uploaded CPython 3.8Windows x86

File details

Details for the file robotframework_flaui-4.0.5.tar.gz.

File metadata

  • Download URL: robotframework_flaui-4.0.5.tar.gz
  • Upload date:
  • Size: 310.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for robotframework_flaui-4.0.5.tar.gz
Algorithm Hash digest
SHA256 e588d91125e014bd23168d591a54f41d622c3db16e1c82253cbc5ed88cea0015
MD5 f9959b7b6bfaedce0def579944f12b6e
BLAKE2b-256 cee03beeac3e4f635c748cf4b3ecc56e3d3d64286f75dd49ecb1b329fa93d25c

See more details on using hashes here.

File details

Details for the file robotframework_flaui-4.0.5-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for robotframework_flaui-4.0.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f566857857db4547014fbd6063eda24f6d951088a61e011698f95eb60e72b214
MD5 5a9adf3f88a350f1950535d040b3bb46
BLAKE2b-256 853b0165711f5fa3849e86ab831b76f479f0e4f85e6e30977f288bb76d89c03a

See more details on using hashes here.

File details

Details for the file robotframework_flaui-4.0.5-cp313-cp313-win32.whl.

File metadata

File hashes

Hashes for robotframework_flaui-4.0.5-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 e48ee40d4ab432656fe34b9c104402460d190c98fdb5724748fb356d53e094e2
MD5 7d4d5ba4d759fbf93eb7982d8cf3e3cb
BLAKE2b-256 4e6b4ba466abb44e09a992502081b450142121f13086539dcb659ee697947b4c

See more details on using hashes here.

File details

Details for the file robotframework_flaui-4.0.5-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for robotframework_flaui-4.0.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bf4d48d7e36c0c4286475d24987d06f8cddb6b9b21b3fc3f0cfa39bfb4a899d7
MD5 b0f62c3c47d9144471e1fd88a1f4e379
BLAKE2b-256 a5093c25a75042b7d018931d94dc9d284a4ddf6b4c258c042167b5b7331c82b0

See more details on using hashes here.

File details

Details for the file robotframework_flaui-4.0.5-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for robotframework_flaui-4.0.5-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 fae951b7a58c811270ce4e7736b8646c2e3d558adb5c74d8a980ff5845d337bc
MD5 6ede8eb85415704598296a6217dac97b
BLAKE2b-256 ecf5fd6f96679fe1180bc0aeafb8c76d9ffa3f5d0f1e849d7f3c3ae4dfdc5880

See more details on using hashes here.

File details

Details for the file robotframework_flaui-4.0.5-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for robotframework_flaui-4.0.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2e21da6e70446c31c87c54d936607e2a3b2567e5179b6fec5e1fef7261d083c7
MD5 b4ae0cdc0c43333f0631a6af63de4e78
BLAKE2b-256 02b93fba92c22f9a441b65e828e099e0418f64f3282aceb91b6fd4688f18b868

See more details on using hashes here.

File details

Details for the file robotframework_flaui-4.0.5-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for robotframework_flaui-4.0.5-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 c8e030aec814895082eccf7dc77bcfabbe440351fa6f7defa3e8cd43e50e43bc
MD5 cae48ca1709708bbc504dba0ba527b4b
BLAKE2b-256 75b1b3e1c595ec88fefef7fdca3a1932d67bbe442d60713621a521e57c1d2939

See more details on using hashes here.

File details

Details for the file robotframework_flaui-4.0.5-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for robotframework_flaui-4.0.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d1ce43d5418801dc5fc5c1856af61b61ca5964a48268d3940cd9d2e6d1e429d8
MD5 729a2f62048c6ab8335de3691bd40f03
BLAKE2b-256 cc69c87ea518cd7cdae3fb71cd7178f2ec54a80c51773d067c149dc6b6c56a7c

See more details on using hashes here.

File details

Details for the file robotframework_flaui-4.0.5-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for robotframework_flaui-4.0.5-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 b4668382c0e6755d95c2092e46c695780c04880a930c5e643f78b998557cef05
MD5 40d6fc3c0e18252522b87a0446a96234
BLAKE2b-256 67cceafad69e9998dcfef13a89d1dce4216fbc33fbebba927fe3106713d885eb

See more details on using hashes here.

File details

Details for the file robotframework_flaui-4.0.5-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for robotframework_flaui-4.0.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d1b546e90841d5eae871e0321ab33e7530c5c28226ab92cf626f532a41b9a9f8
MD5 11a6a5cb1b2a62d9477dace7195a11c8
BLAKE2b-256 205ecbc77fec2299e636eb817f2789e5a08f37aba910ce90134bb9a862fde297

See more details on using hashes here.

File details

Details for the file robotframework_flaui-4.0.5-cp39-cp39-win32.whl.

File metadata

File hashes

Hashes for robotframework_flaui-4.0.5-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 7f3d08b8c475e78ed5cef0a9fc8b51d9a1d76c91416b9fa741a6dadce370fc62
MD5 f1d134f30f0f72e8d3db0ef90395e56b
BLAKE2b-256 3b597dd097327cc22e51a5aa06ffd69512989f45a62d05958df1e2c4f69975fa

See more details on using hashes here.

File details

Details for the file robotframework_flaui-4.0.5-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for robotframework_flaui-4.0.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 192f0c5acd47f2cbb75c34701305b5cea67e14dc6569339ad5959e7b1b2c25b9
MD5 4f770985848b66e3724c7f7afd6c1e2d
BLAKE2b-256 94c102da12158d00d2ff0e07e1b942d598fcdbb7b57eba5bb8d1137e49d67615

See more details on using hashes here.

File details

Details for the file robotframework_flaui-4.0.5-cp38-cp38-win32.whl.

File metadata

File hashes

Hashes for robotframework_flaui-4.0.5-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 0753f905923dcbb2bdaae9c787ffa27d5661ba4418ce851dfca49cd7d2e2f9eb
MD5 16803f3a01fd14d32dc2d3b74e8db1fd
BLAKE2b-256 3de1f104a4fa9217da765868ea52f764f2bf80fba6eb0349aaeabda1be5fb2d9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page