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.1.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-4.1.1-cp313-cp313-win_amd64.whl (335.6 kB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13Windows x86

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9Windows x86

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

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.8Windows x86

File details

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

File metadata

  • Download URL: robotframework_flaui-4.1.1.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-4.1.1.tar.gz
Algorithm Hash digest
SHA256 7ce14cedabefc6d23a279ff8b3960a5b74ba3694aeb2df345ee838c6916ca593
MD5 cef3d4e4e124d69868c81bd835bb7d5a
BLAKE2b-256 2efe37e11dd980eb27ec17d1262b08ba9e85ccfe80deeef42ba9d5867d7fb78f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c48e6db63cc5e9b5c974e558976d09469a76846e87074701312556e403cd4801
MD5 cd567a1266ed03617c794919709af316
BLAKE2b-256 025f945d1df17105178c7c57567085831eff7c1198769b1ce57fab67b6bfa121

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.1-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 0095535169f443ccf8477873683d0832bad2af8d1523bf9c798d7d76bc913d07
MD5 5f66db52ce0d8dd640a33aef3a5b666b
BLAKE2b-256 ee5bc059799737c79730d7c5edb87c9f41f30fb069bc0f67cfa607cfb97b80a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2dfb2e73dd95e7da0f658ccc13d049a0a38697cd38826651d827fe7fc150c15c
MD5 e0478a24dcd66d2af417545bd9dc751e
BLAKE2b-256 dc8d127bc860780781e12db64b1f1f3bd6f7002dad379996f0cc4281ace1db37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 cfc094066cecfb67c7e2121d89afc49abb7be95bddc3c633f08f7e29203850d2
MD5 af5827c2797090d3eb69fb653fc58f26
BLAKE2b-256 4a951db862644a017e7fcd727c124338775ed38b8c0f3ce6e666ef8354036bee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ff8f68b0834112f631f499c439d7f302eeb351f8d6972a56ca72c4973edcfaf6
MD5 8dfc7fdb7468c1be344f85797203b6cf
BLAKE2b-256 90bfc9061754800e9ae8c228b6e2fbbc839a20710d92c1078125e640efae5238

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 ef276866340e623296161b72214457ca00cc4356c29501903efcc2c8db88e1c7
MD5 7f689a16c0bc0ed0d9820d3095eb5b5f
BLAKE2b-256 5cc89928afbbfc50be5401e199b42b2868564b29c8d02f017f548b7c67a8cfb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c0e17de7fd403ec2b1648790656f3d68996202531a5fdddac2b5a89c85461781
MD5 781082bf1bd44539ba55a688affa1e7c
BLAKE2b-256 4810c304e2fb50a1566fd665dcb4d9f2ea5ee48a0ba269c25335068aa0b34c4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 4224e9c84fea018864a980bd447ae47b8f3fe06146dfbf31985c377ae158edd2
MD5 283008c4ad4c7512a04b1a0ce4233ccf
BLAKE2b-256 e3d568683392c03c5ce3ef4699998ac916e56d274bff18021cc510b6a9956006

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 10a47dea4314e92a04027c5ca6f2cf29e35a80610da005ccce117051209b18ce
MD5 b817df212810bbb2feac132fc0665ec7
BLAKE2b-256 73ad9648c2c7e92eefd50c093db77300b34a9dd39c8862a7195fc75fcce1b6b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 596b07ef63a3a102b792a1dbb72f9984309a853d04f84b04339507f9adbef77f
MD5 296cd45bcf376cf280ae18f480f74a44
BLAKE2b-256 2a59e579c7bf9ba4501609f51be0b0033a683fe821ea502806c02aa13e4c16db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 9f7c7022ab266aeeabce255ea61232f8d5222785c4fbccbefad08e578c5e0567
MD5 f34920a56a5f6ef767297987f3bfce85
BLAKE2b-256 1919b2a8ea28eccb2ea8b22827a9549e4f07eee9e1048e76c4b9290bf9fa98c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_flaui-4.1.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 1397202f925cfa9cd3c916904aa0cefc5853befe5ad058f39742c69057ad376e
MD5 1cd3a8ac460685d5b754a26af9f447bf
BLAKE2b-256 c6c195ca9838d16c6a07f9656151e1cb6a2401d5c0b17a604892fffb920e34f6

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