{"id":15018767,"url":"https://github.com/gdatasoftwareag/robotframework-flaui","last_synced_at":"2025-04-13T00:42:57.140Z","repository":{"id":39307334,"uuid":"261151706","full_name":"GDATASoftwareAG/robotframework-flaui","owner":"GDATASoftwareAG","description":"Windows user interface automation library for Robot-Framework. FlaUILibrary is a wrapper for the FlaUI automation library.","archived":false,"fork":false,"pushed_at":"2025-02-22T15:47:21.000Z","size":2542,"stargazers_count":70,"open_issues_count":18,"forks_count":13,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-04-13T00:42:49.560Z","etag":null,"topics":["e2e-testing","robot-framework"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GDATASoftwareAG.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-04T11:10:20.000Z","updated_at":"2025-03-26T09:49:59.000Z","dependencies_parsed_at":"2023-11-10T13:37:30.769Z","dependency_job_id":"372041cc-2e87-4702-9893-987f369d7c31","html_url":"https://github.com/GDATASoftwareAG/robotframework-flaui","commit_stats":{"total_commits":233,"total_committers":13,"mean_commits":"17.923076923076923","dds":"0.42060085836909866","last_synced_commit":"5dd24826419bd743e1500dcb4bb0cac8d83c8e8a"},"previous_names":[],"tags_count":53,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GDATASoftwareAG%2Frobotframework-flaui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GDATASoftwareAG%2Frobotframework-flaui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GDATASoftwareAG%2Frobotframework-flaui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GDATASoftwareAG%2Frobotframework-flaui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GDATASoftwareAG","download_url":"https://codeload.github.com/GDATASoftwareAG/robotframework-flaui/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248650417,"owners_count":21139672,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["e2e-testing","robot-framework"],"created_at":"2024-09-24T19:52:25.819Z","updated_at":"2025-04-13T00:42:57.113Z","avatar_url":"https://github.com/GDATASoftwareAG.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Robotframework-FlaUI Library\r\n\r\n[license]: https://img.shields.io/github/license/GDATASoftwareAG/robotframework-flaui?style=flat-square\r\n\r\n[py38x86]: https://img.shields.io/appveyor/job/build/GDATACyberDefenseAG/robotframework-flaui/Python%203.8%20x86/main?label=3.8\u0026style=flat-square\r\n[py38x64]: https://img.shields.io/appveyor/job/build/GDATACyberDefenseAG/robotframework-flaui/Python%203.8%20x64/main?label=3.8\u0026style=flat-square\r\n\r\n[py39x86]: https://img.shields.io/appveyor/job/build/GDATACyberDefenseAG/robotframework-flaui/Python%203.9%20x86/main?label=3.9\u0026style=flat-square\r\n[py39x64]: https://img.shields.io/appveyor/job/build/GDATACyberDefenseAG/robotframework-flaui/Python%203.9%20x64/main?label=3.9\u0026style=flat-square\r\n\r\n[py310x86]: https://img.shields.io/appveyor/job/build/GDATACyberDefenseAG/robotframework-flaui/Python%203.10%20x86/main?label=3.10\u0026style=flat-square\r\n[py310x64]: https://img.shields.io/appveyor/job/build/GDATACyberDefenseAG/robotframework-flaui/Python%203.10%20x64/main?label=3.10\u0026style=flat-square\r\n\r\n[py311x86]: https://img.shields.io/appveyor/job/build/GDATACyberDefenseAG/robotframework-flaui/Python%203.11%20x86/main?label=3.11\u0026style=flat-square\r\n[py311x64]: https://img.shields.io/appveyor/job/build/GDATACyberDefenseAG/robotframework-flaui/Python%203.11%20x64/main?label=3.11\u0026style=flat-square\r\n\r\n[py312x86]: https://img.shields.io/appveyor/job/build/GDATACyberDefenseAG/robotframework-flaui/Python%203.12%20x86/main?label=3.12\u0026style=flat-square\r\n[py312x64]: https://img.shields.io/appveyor/job/build/GDATACyberDefenseAG/robotframework-flaui/Python%203.12%20x64/main?label=3.12\u0026style=flat-square\r\n\r\n[py313x86]: https://img.shields.io/appveyor/job/build/GDATACyberDefenseAG/robotframework-flaui/Python%203.13%20x86/main?label=3.13\u0026style=flat-square\r\n[py313x64]: https://img.shields.io/appveyor/job/build/GDATACyberDefenseAG/robotframework-flaui/Python%203.13%20x64/main?label=3.13\u0026style=flat-square\r\n\r\n[tests]: https://img.shields.io/appveyor/tests/GDATACyberDefenseAG/robotframework-flaui/main?style=flat-square\"\r\n[tests_url]: https://ci.appveyor.com/project/GDATACyberDefenseAG/robotframework-flaui/build/tests\r\n\r\n[pypi]: https://img.shields.io/pypi/v/robotframework-flaui?style=flat-square\r\n[pypi_url]: https://pypi.org/pypi/robotframework-flaui\r\n\r\n[python_37]: https://img.shields.io/badge/Python-3.7-blue\r\n[python_38]: https://img.shields.io/badge/Python-3.8-blue\r\n[python_39]: https://img.shields.io/badge/Python-3.9-blue\r\n[python_310]: https://img.shields.io/badge/Python-3.10-blue\r\n[python_311]: https://img.shields.io/badge/Python-3.11-blue\r\n[python_312]: https://img.shields.io/badge/Python-3.12-blue\r\n[python_313]: https://img.shields.io/badge/Python-3.13-blue\r\n\r\n[rf3]: https://img.shields.io/badge/3-Supported-blue\r\n[rf4]: https://img.shields.io/badge/4-Supported-blue\r\n[rf5]: https://img.shields.io/badge/5-Supported-blue\r\n[rf6]: https://img.shields.io/badge/6-Supported-blue\r\n[rf7]: https://img.shields.io/badge/7-Supported-blue\r\n\r\n|                          |                                                                                           |\r\n|---                       |-------------------------------------------------------------------------------------------|\r\n| License                  | ![][license]                                                                              |\r\n| Python Builds (x86)      | ![][py38x86] ![][py39x86] ![][py310x86] ![][py311x86] ![][py312x86] ![][py313x86]         |\r\n| Python Builds (x64)      | ![][py38x64] ![][py39x64] ![][py310x64] ![][py311x64] ![][py312x64] ![][py313x64]          |\r\n| Tests                    | [![][tests]][tests_url]                                                                   |\r\n| Python                   | ![][python_38] ![][python_39] ![][python_310] ![][python_311] ![python_312] ![python_313] |\r\n| Robotframework           | ![][rf3] ![][rf4] ![][rf5] ![][rf6] ![][rf7]                                              |\r\n| PyPi                     | [![][pypi]][pypi_url]                                                                     |\r\n\r\n## Introduction\r\n\r\nRobotframework-FlaUI is a keyword based user interface automation testing library for Windows applications like Win32, WinForms, WPF or Store Apps.\r\nIt's based on the [FlaUI](https://github.com/FlaUI/FlaUI) user interface automation library.\r\n\r\n## Installation\r\n\r\nInstall the latest stable release:\r\n\r\n```\r\npip install --upgrade robotframework-flaui\r\n```\r\n\r\n## Dependencies and python support\r\n\r\nThe robot framework FlaUI is supposed to support the current Python 3 versions.\r\n\r\n### Required dependencies\r\n\r\nSee dependencies from [Documentation](https://gdatasoftwareag.github.io/robotframework-flaui)\r\n\r\n### Python.Net Wrapper Issues\r\n\r\n#### Robotframework-Flaui 1.x\r\n\r\n* With the release of Python.Net version 2.5.2, Python 3.9 support was implemented for the first time.\r\n* However, no official support for Python 3.9 has been released yet.\r\n  * For more information see the issue [#1389](https://github.com/pythonnet/pythonnet/issues/1389)\r\n* If there are problems installing the Python.Net library, please use Python 3.8 instead.\r\n* This is only a potential problem by all robotframework-flaui 1.x versions which are implemented by Python.Net 2.5.2\r\n\r\n#### Robotframework-Flaui 2.x\r\n\r\n* Sometimes an AccessViolationException wil be occure on latest Python.Net Version v3.0.1\r\n  * For more information see the issue [#1977](https://github.com/pythonnet/pythonnet/issues/1977)\r\n  * A workaround is to set Python's memory allocation environment variable \"PYTHONMALLOC=malloc\"\r\n\r\n## Documentation\r\n\r\n*  [Keyword documentation](https://gdatasoftwareag.github.io/robotframework-flaui)\r\n*  [XPath explanation](https://gdatasoftwareag.github.io/robotframework-flaui/xpath.html)\r\n\r\n### RFHUB2\r\n\r\n[RFHUB2](https://pypi.org/project/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.\r\n\r\nUnder docs/keywords are the necessary .XML files to import the keywords.\r\n\r\nThese can be imported separately according to their version with the RFHUB2-CLI tool or all versions.\r\n\r\n```\r\nrfhub2-cli .\\docs\\keywords\\\r\nrfhub2-cli .\\docs\\keywords\\\u003cVERSION\u003e\r\n```\r\n\r\n## GUI Inspector Tools\r\n\r\nThere are various tools around which help inspecting application that should be ui tested or automated. \r\n\r\nSome of them are:\r\n* [FlaUI Inspect](https://github.com/FlaUI/FlaUInspect)\r\n* Alternatively [FlaUInspectStable](https://github.com/noubar/FlaUInspectStable) more stable version\r\n* [Microsoft Accessibility Insights For Windows](https://accessibilityinsights.io)\r\n* VisualUIAVerify\r\n* Inspect\r\n* UISpy\r\n\r\n## Examples\r\n\r\nExamples of use can be found in the atests folder.\r\n\r\n## Development\r\n\r\n### Preconditions\r\n\r\n* Install [Python](https://www.python.org/downloads), if not already installed. \r\n* Only Python 3 is supported.\r\n* Install Robotframework and Python.Net\r\n\r\n#### Dependency installation by Keen.bat\r\n\r\n```\r\n.\\keen.bat dependency\r\n```\r\n\r\n### Test-Applications\r\n\r\nTwo test projects were used for the UI automation:\r\n\r\n* FlaUI WPF Test App 'Standard application that contains all common UI elements'\r\n* Notifier Test App 'Application which closes automatically after a time'\r\n\r\n### Building and testing locally\r\n\r\nUse the provided 'Commander Keen' file:\r\n\r\n```\r\n.\\keen.bat test\r\n```\r\n\r\nThe script automatically builds the:\r\n  * Library as a wheel file stored in the Dist folder\r\n  * Test documentation located in the Docs folder\r\n  * Automatically installs and runs the robot tests of the library and saves the test results in the Result folder\r\n\r\nFollowing arguments are supported:\r\n```\r\n.\\keen.bat \u003cargument\u003e\r\n```\r\n  * cleanup - Removes all build folders\r\n  * dependency - Install all python dependencies\r\n  * build - Build wheel file\r\n  * install - Install wheel file\r\n  * test - Test robotframework-flaui (UIA2 and UIA3)\r\n  * test_uia2 - Test UIA2 interface usage\r\n  * test_uia3 - Test UIA3 interface usage\r\n  * pylint - Static code analysis for python code\r\n  * robocop - Static code analysis for robotframework code\r\n  * tidy - Formatter for robotframework code\r\n\r\n## Acknowledgements\r\n\r\n### FlaUI\r\n\r\n* Thanks to [@Roemer](https://github.com/Roemer) for the passion to create and maintain the FlaUI project.\r\n* Thanks to [FlaUI](https://github.com/FlaUI/FlaUI) developers and maintainers for this project.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgdatasoftwareag%2Frobotframework-flaui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgdatasoftwareag%2Frobotframework-flaui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgdatasoftwareag%2Frobotframework-flaui/lists"}