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 python_314
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:

python .\keen.py 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:

python .\keen.py <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.1.0.tar.gz (310.7 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.1.0-cp313-cp313-win_amd64.whl (335.2 kB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13Windows x86

robotframework_flaui-4.1.0-cp312-cp312-win_amd64.whl (335.2 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

robotframework_flaui-4.1.0-cp311-cp311-win_amd64.whl (335.2 kB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

robotframework_flaui-4.1.0-cp310-cp310-win_amd64.whl (335.2 kB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9Windows x86

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

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.8Windows x86

File details

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

File metadata

  • Download URL: robotframework_flaui-4.1.0.tar.gz
  • Upload date:
  • Size: 310.7 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.1.0.tar.gz
Algorithm Hash digest
SHA256 fe66c735d3c051fbb91276b2a67419b90124ead276bfd7dfa7f3a62db2a60a04
MD5 657409d20a89ab312ce90f45422ac67b
BLAKE2b-256 a481e536245fd57b4b48d0137e86fdef0e2d46b0eb7afc1529238583da259037

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b628f1c3c2a657f8faeaf83a990bf834844bd47c7f3cd74389c96272f0e67a90
MD5 29b3f54718430cd7f378d9f4706fd6c1
BLAKE2b-256 e65b120cb9de694c3356a48be0c4a5da538778df569348a53c537acad87d77dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 a9c0a5fad2bdae49ec6cb37e37f97e7bb8e7ff31bf0e75e339309d4710c3b119
MD5 276143ae40d7224226f3d91e33d20d3a
BLAKE2b-256 59dc7281d1d1384008774c2673bb59c6974283f04dc9b3e09d2db453038c39f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 dba6461a4bf3d99c4696daea84d6e014158afada234cc3ea7da8a02afc1f25fe
MD5 3ace64506aa9f7d9d0d6dff07f80580e
BLAKE2b-256 63d48a66598d0cad05f67fe1f50b4e57a7027be3e0d429e4efca88300d7a759d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 775a858e095951b4d2fba4c9f6840bd3480b3b69d320946378d7bfcaa1703813
MD5 bd0651d62440ea975d4e74522f388207
BLAKE2b-256 b7b54c9b4b32284666091ee3a57f12fbc5ca9658f8aada90a38aad2227ff6900

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2ce227b82c3170aac5eb4cb416ee650bcc118f63d7a10854b725994657227e72
MD5 1efb9397a94663a22865fa0a91758b6a
BLAKE2b-256 8599d677d8065f28a2f97afd56f6fd5fd89a2fb10df4adf26720fa5949f005fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 3c49bee67a2c7035f48610cf0fcb2fe00fd0457718641145afedba983c5608b1
MD5 131f192ab1a1af84b25133be01334f4f
BLAKE2b-256 1e6d67d871a2dfc010aed3a6ffa956451fcb9be01b5ed78295318f5b8f206efd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1c9d0ebd2d7937288a5640fbb1dbcb06fd3d443340cdb1329eae88eaffba9829
MD5 9fb9c3f21c54ab67e0b78b8145fe838a
BLAKE2b-256 856ca277b47d0cc104c6a5484ba275b92d1f0e4177344b1326063b0d8cdc4b69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 dff4fe7a425b08e6f487f9089f50a35afbf3df96e0c7cd25fef5b457e9d1b8fc
MD5 04f8ae04a5446050edf4971ec91a5ad3
BLAKE2b-256 97da3e03b1661230c00834925db03ce7aed6cabaeda42ff8e63d37ae4fb14632

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 652a5bd165acff52d95877fddf031038b92b9a9f5b2fcde3a24a517c0ff99018
MD5 b37ca771e124bba4cd4860938882c264
BLAKE2b-256 fa8a265390d17425ae79a150c50e8e52fabd374e537c6576cc3041bca6600e9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 bad185caf34731ac429bb53bdb16f48335066548652fc505ad283b69b9e77111
MD5 e151552744937fd22f8e1da617aaa894
BLAKE2b-256 283187a95ddcd1f1d6163d61988d0abc06220a3fee6187d0d91d324d0442bd88

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 1982539b62f48806959c53d77a60959e6ac317caa6a121cf478d66e4abea7e91
MD5 a7275d63d61bd32ccf781ed3167961c0
BLAKE2b-256 31dc703eb035144a1229f6108e737b6b7a3dc30732aa8c2d0ff2ac4fe455f0b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 0d1b7e1338af6c76730f5fe840cbed84126c13ced90b4497442b52f241cc6b4d
MD5 4cfdb0ab7e07bb961ec425a303d4ec21
BLAKE2b-256 37dc41968543d93c153f7a576c73991b3c0ac5d4048d6c508c26c0857254cfb0

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