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-5.0.0.tar.gz (311.1 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-5.0.0-cp314-cp314-win_amd64.whl (345.9 kB view details)

Uploaded CPython 3.14Windows x86-64

robotframework_flaui-5.0.0-cp314-cp314-win32.whl (345.9 kB view details)

Uploaded CPython 3.14Windows x86

robotframework_flaui-5.0.0-cp313-cp313-win_amd64.whl (335.6 kB view details)

Uploaded CPython 3.13Windows x86-64

robotframework_flaui-5.0.0-cp313-cp313-win32.whl (335.6 kB view details)

Uploaded CPython 3.13Windows x86

robotframework_flaui-5.0.0-cp312-cp312-win_amd64.whl (335.6 kB view details)

Uploaded CPython 3.12Windows x86-64

robotframework_flaui-5.0.0-cp312-cp312-win32.whl (335.6 kB view details)

Uploaded CPython 3.12Windows x86

robotframework_flaui-5.0.0-cp311-cp311-win_amd64.whl (335.6 kB view details)

Uploaded CPython 3.11Windows x86-64

robotframework_flaui-5.0.0-cp311-cp311-win32.whl (335.6 kB view details)

Uploaded CPython 3.11Windows x86

robotframework_flaui-5.0.0-cp310-cp310-win_amd64.whl (335.6 kB view details)

Uploaded CPython 3.10Windows x86-64

robotframework_flaui-5.0.0-cp310-cp310-win32.whl (335.6 kB view details)

Uploaded CPython 3.10Windows x86

robotframework_flaui-5.0.0-cp39-cp39-win_amd64.whl (335.6 kB view details)

Uploaded CPython 3.9Windows x86-64

robotframework_flaui-5.0.0-cp39-cp39-win32.whl (335.6 kB view details)

Uploaded CPython 3.9Windows x86

robotframework_flaui-5.0.0-cp38-cp38-win_amd64.whl (335.5 kB view details)

Uploaded CPython 3.8Windows x86-64

robotframework_flaui-5.0.0-cp38-cp38-win32.whl (335.5 kB view details)

Uploaded CPython 3.8Windows x86

File details

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

File metadata

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

File hashes

Hashes for robotframework_flaui-5.0.0.tar.gz
Algorithm Hash digest
SHA256 f06e4494d98bce46682e7ae2e721e157dd426995de1ed685677ab4366950f645
MD5 5c5e96e14556596aabf0c9d45f75af06
BLAKE2b-256 5053f6f6f8918151a1c2e214975c879b34768401fb52d7463daef7e054aef12e

See more details on using hashes here.

File details

Details for the file robotframework_flaui-5.0.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for robotframework_flaui-5.0.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 e3d2626e729a3442dc6fba440ee6b0bfc346600aaf2b5653de41ea0a248aaa39
MD5 be6a6ae4e41b87a324c63a19e15c7457
BLAKE2b-256 cbacc7744b2e9b84ae64d33ed0d5f91a17d9866d46ed4053286361c42bb16d9a

See more details on using hashes here.

File details

Details for the file robotframework_flaui-5.0.0-cp314-cp314-win32.whl.

File metadata

File hashes

Hashes for robotframework_flaui-5.0.0-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 8dad9e3846de3fb9bdd8f6f0bbe0726501a7e5c96fc91561adeea47e25154e89
MD5 11e11a849dbe28ebd2655afa6fa12105
BLAKE2b-256 d03017fa447d6a0d521aba3177579e6820ffaa345ae84ce4e1a1bd00ef5b164e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-5.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 32eebb291ef08c603917d2a742a5eedd53761f1f4cf89c7df4151d8f21ba0c32
MD5 8f4072a7ff5b5a1d3a018a0bf8d12e9d
BLAKE2b-256 19e598910368e5d203be8e30dc74eb11b8c03753a87c2bd975cf0538bdf0b609

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-5.0.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 840b2a8fa62d2b996e4a5d8f938f2d1124afbadb8e0a1184194b4c4169856808
MD5 80dfc4eea6aa84055db618e3690957ac
BLAKE2b-256 bbee5207b841ae2d08be6d5b93c7c70b287102f9df116fddf702c6ff3915c49d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-5.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5d3d18d65bd86070b9c3ee9e412346839784f3579a8161b669870bc17d622aaa
MD5 f4ba4e59b9005fc9c0d7d59fb4b0cfb3
BLAKE2b-256 3ad6d5df4eba65814a662736112bce521f2ff7ab99175c905e57834750cda6db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-5.0.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 c14c261fbfb4061d58729ce35b0ed3494c0e07ec3b3365175520ca343065dd11
MD5 00efe530503f7756ae654fc66fe66575
BLAKE2b-256 91c4e1909578eb61291e837e367b72da8c8334b9a20e15610d8e670358fc72f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-5.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 89f73b69691964c5d46e9fe26288bbf20c472f6af009ea184fee725b55445c11
MD5 36044ddf2c33c4880af5c36ea2e9e514
BLAKE2b-256 43060a00dcc22e3b5b10314affb3ef9bf1c5a8f1f28bb5da8386baffee0077bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-5.0.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 7681e0cdf7baaff75f2570e9135528e1480861649055b2fce45be5a4854782a4
MD5 c7418a8e3e6b6babd383987e856a7f86
BLAKE2b-256 2162a60af5b0aff229d7b7d3249ecfbfa921f4ea9c4a795a84ad56b01fd4ff1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-5.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 eeae1a10cae78ccd6181b4ef8b755f65bb3229f5932edfb01ac9c4f1269050b2
MD5 7f3d5b6880df35f7e697e076dc0dab8f
BLAKE2b-256 1f7407e93075201b6dacd2a7db4673db9f8a9e19254137fff70fdb5982474b29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-5.0.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 cfe5c67ff0f4131ffa7da554076bfd91985bd922ddf7e4f72208fc89a6a7c035
MD5 84734765b1588e552f84445c20489e56
BLAKE2b-256 6e67c598ca6646b87a664dc65011805ca4532c93ccf57c199380984a0dd3d3e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-5.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 191cb7c3541a52bda75f6830544bd9fb65810ba2daf3bfab06d22d7c97abd344
MD5 cddeb66524f36210e01b9e59ddb06519
BLAKE2b-256 4331225bdc42ca91b81cfd992672c422d0b1087fc0f2e82fcc73244002610bc8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-5.0.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 2ce5ecc519c3f13c744f88e67d22e0ff680230a640f874fcdb129b0fc3067135
MD5 9d8e736c111967c54dcbc9c2d21e472e
BLAKE2b-256 3bbb12da11627c1101361bfa52913c2c33032014fb77b955714e262eb61bc27b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-5.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 177506f1f0858dd1dbc5676f938b33bf35330857f0edb6b821cdc8f98dc13e16
MD5 e4a0f5643f4d608538417c38f69b809f
BLAKE2b-256 2572bbe023d498f57f6d92835a3a200ef980ed634f618e0486908981f4d5e053

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-5.0.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 a09ccc56eb6538b4a5d3f650689a43528d83a43f5ab8c54f9bd1e43678208234
MD5 3cfa497de05671161b99f149cf908384
BLAKE2b-256 70785ab16954360a88eb9ad5014b0b279698090527a4b7c7eeace23679c20c4b

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