This project is still under development and should not be used productively yet.
At the current state expect:
- bugs
- missing features
- missing documentation
Feel free to contribute, create issues, provide documentation or test the implementation.
PlatynUI is a library for Robot Framework, providing a cross-platform solution for UI test automation. Its main goal is to make it easier for testers and developers to identify, interact with, and verify various UI elements.
We aim to provide a Robot Framework-first library.
- Cross-platform capability with consistent API across Windows, Linux, and MacOS
- Direct access to native UI elements
- Simplified element identification
- Builtin ui spy tool
- Linux
- X11
- AT-SPI2
- Windows
- Microsoft UI Automation (UIA)
- MacOS
- Accessibility API
Extendable for any other ui technologies.
pip install robotframework-platynui
After installation, start the spy tool on the command line with this command:
PlatynUI.Spy
- Start any application
- Identify elements and properties in your application
- Access elements with it's properties and build locators to access and simulate ui applications
@locator(name="Rechner")
class CalculatorWindow(Window):
@property
@locator(AutomationId="num5Button")
def n5(self) -> Button: ...
@property
@locator(AutomationId="num6Button")
def n6(self) -> Button: ...
@property
@locator(AutomationId="plusButton")
def plus(self) -> Button: ...
@property
@locator(AutomationId="equalButton")
def equal(self) -> Button: ...
*** Settings ***
Library PlatynUI
Variables apps.calculator
*** Test Cases ***
Test Addition Of Two Numbers
Activate ${calculator.n5}
Activate ${calculator.plus}
Activate ${calculator.n6}
Activate ${calculator.equal}
Get Text ${calculator.result} should be 11
Roadmap will soon be displayed here
We welcome contributions to the project! Here are some ways you can contribute:
- Report Bugs: Use GitHub Issues to report bugs.
- Suggest Features: Use GitHub Issues to suggest new features.
- Submit Pull Requests: Fork the repository, make your changes, and submit a pull request. Please ensure your code follows our coding standards and includes tests.
Contribution guidelines are currently in creation and will be available soon.
If you want to start now, you can setup a dev environment with following steps:
-
Prerequisites:
- .NET 8.0
- Python 3.10 or higher
- Hatch
-
Clone the repository from Github
-
Create Hatch environment (also creates the .NET environment)
cd robotframework-PlatynUI hatch env create
We use Semantic Versioning for versioning. For the versions available, see the tags on this repository.
Changelog is maintained using conventional commits.
robotframework-PlatynUI
is distributed under the terms of the Apache 2.0 license.