Skip to main content

PlatynUI is a library for Robot Framework that enables easy and cross-platform desktop UI automation with a comprehensive set of keywords for interacting with desktop applications.

Project description

robotframework-PlatynUI

PyPI - Version PyPI - Python Version


Table of Contents

Disclaimer

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.

Project Description

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.

Why PlatynUI?

  • Cross-platform capability with consistent API across Windows, Linux, and MacOS
  • Direct access to native UI elements
  • Simplified element identification
  • Builtin ui spy tool

Testable Frameworks

  • Linux
    • X11
    • AT-SPI2
  • Windows
    • Microsoft UI Automation (UIA)
  • MacOS
    • Accessibility API

Extendable for any other ui technologies.

Installation

pip install robotframework-platynui

Spy Tool

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

Demo

Application Example

@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

Roadmap will soon be displayed here

Contributing

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.

Setup Dev Environment

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
    

Versioning

We use Semantic Versioning for versioning. For the versions available, see the tags on this repository.

Changelog is maintained using conventional commits.

License

robotframework-PlatynUI is distributed under the terms of the Apache 2.0 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

robotframework_platynui-0.8.1-cp313-cp313-win_amd64.whl (15.5 MB view details)

Uploaded CPython 3.13Windows x86-64

robotframework_platynui-0.8.1-cp313-cp313-win32.whl (15.5 MB view details)

Uploaded CPython 3.13Windows x86

robotframework_platynui-0.8.1-cp313-cp313-musllinux_1_2_x86_64.whl (16.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

robotframework_platynui-0.8.1-cp313-cp313-manylinux_2_28_x86_64.whl (14.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

robotframework_platynui-0.8.1-cp312-cp312-win_amd64.whl (15.5 MB view details)

Uploaded CPython 3.12Windows x86-64

robotframework_platynui-0.8.1-cp312-cp312-win32.whl (15.5 MB view details)

Uploaded CPython 3.12Windows x86

robotframework_platynui-0.8.1-cp312-cp312-musllinux_1_2_x86_64.whl (16.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

robotframework_platynui-0.8.1-cp312-cp312-manylinux_2_28_x86_64.whl (14.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

robotframework_platynui-0.8.1-cp311-cp311-win_amd64.whl (15.5 MB view details)

Uploaded CPython 3.11Windows x86-64

robotframework_platynui-0.8.1-cp311-cp311-win32.whl (15.5 MB view details)

Uploaded CPython 3.11Windows x86

robotframework_platynui-0.8.1-cp311-cp311-musllinux_1_2_x86_64.whl (16.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

robotframework_platynui-0.8.1-cp311-cp311-manylinux_2_28_x86_64.whl (14.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

robotframework_platynui-0.8.1-cp310-cp310-win_amd64.whl (15.5 MB view details)

Uploaded CPython 3.10Windows x86-64

robotframework_platynui-0.8.1-cp310-cp310-win32.whl (15.5 MB view details)

Uploaded CPython 3.10Windows x86

robotframework_platynui-0.8.1-cp310-cp310-musllinux_1_2_x86_64.whl (16.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

robotframework_platynui-0.8.1-cp310-cp310-manylinux_2_28_x86_64.whl (14.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

File details

Details for the file robotframework_platynui-0.8.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for robotframework_platynui-0.8.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 47fb47fa9b3a2116c52c1472d0c1045a74dd4f651debe3bd6cc726a0293f745d
MD5 6d0543ffeb93a9a7477c4049a7493def
BLAKE2b-256 bea7a9ebf53a36844d2b4e8fa731e5c7f9cfcce70d24ee20a9c49ab618c1f2ce

See more details on using hashes here.

File details

Details for the file robotframework_platynui-0.8.1-cp313-cp313-win32.whl.

File metadata

File hashes

Hashes for robotframework_platynui-0.8.1-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 be04fb0075d4b0f28e8ee003e34d22eb84855a514a6310ab852626c99e8a57e7
MD5 33138dcddf825b3ea7994ddfd1d0a856
BLAKE2b-256 289693b3d43b3dc5f443f96335aa498857f6bc68857245342458e08ac16b0b11

See more details on using hashes here.

File details

Details for the file robotframework_platynui-0.8.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for robotframework_platynui-0.8.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e815d6f69d392a248967582773ddd98edb2ac38daa08feadf87245f48813089d
MD5 ea8371c55dd51fbe8688837f6d7f56a6
BLAKE2b-256 27dff05d3c78f9ec6dc1021b69fe6d988986d8d4a980a48f591a0a1a71c76ec4

See more details on using hashes here.

File details

Details for the file robotframework_platynui-0.8.1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for robotframework_platynui-0.8.1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 92671e1d05bae530263f21b7482d8ad4a748e04cdf97e789142d0dc3674009fc
MD5 4455e7caf2faa9548b498f53c1e444ca
BLAKE2b-256 ec91728772dae15e1dfe2ea704219901749dbeb6c5de1a86dad257ca675fee65

See more details on using hashes here.

File details

Details for the file robotframework_platynui-0.8.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for robotframework_platynui-0.8.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d3adb99f78129b0ae6efba88ecc1fc1474191a5e66050f368485503fc983c280
MD5 7ce9a3625d9efbb756c24aadc7053582
BLAKE2b-256 f3728176f69df619b899e0709f10929242dc542d2e54a0465cbcf155185cfa35

See more details on using hashes here.

File details

Details for the file robotframework_platynui-0.8.1-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for robotframework_platynui-0.8.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 83085c4da1215250a4165c6a3aeb9ec644bf0c7d510fd6feabf0070a89a74b6a
MD5 ad639ada49d9cb642039e570d72b3473
BLAKE2b-256 c5fd8d7602fb3406d5d5b26087a87c4524fef48a48b3dc258bfe4f8abd22b680

See more details on using hashes here.

File details

Details for the file robotframework_platynui-0.8.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for robotframework_platynui-0.8.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cc10398a6c2e72f00bcd6241978ad63d1f283a31b515f70e155208023bb15d92
MD5 233427ee5864b3b00acf3a75b0a59271
BLAKE2b-256 512edef7443aecf5ebcb5698cb4627742a4d83f983993f1ba7a81c0cda6eac85

See more details on using hashes here.

File details

Details for the file robotframework_platynui-0.8.1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for robotframework_platynui-0.8.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 86acb7b8e3d00552d4bd16dabb0ea1cf5c0f8997a699d69fd1ccb6b9d49d86ff
MD5 c96521dc1c63dabb076f713811a2644c
BLAKE2b-256 e7de6bcb3c14b696d5a2ca718bf55f993264f5f6f2fbf552a8650e3ac8cd29d6

See more details on using hashes here.

File details

Details for the file robotframework_platynui-0.8.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for robotframework_platynui-0.8.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 baf68607e977fc864f2a81d7cea352395ac3e68f6549d18538db6fa35b76b0e4
MD5 3bcf2389f7a07028902a31e8389b4c4f
BLAKE2b-256 60c7c76896de5cd840b86704bda8805bca05110f7a1034a1c94c68fb84087b60

See more details on using hashes here.

File details

Details for the file robotframework_platynui-0.8.1-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for robotframework_platynui-0.8.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 d4b4b841ace6e578412b96375f4622c13a3eefc6c2d9d8e0db39d777d9694094
MD5 d01e8dc6c2738d7737cd293ce313f1c7
BLAKE2b-256 7556a73d0e0cb3f0b5253bb89614015c9aa85ec88ce17a248e0734145baceb93

See more details on using hashes here.

File details

Details for the file robotframework_platynui-0.8.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for robotframework_platynui-0.8.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2588ead0fc5b5ba5a1a28133f3d87d2d4289f09ae9c41f06a0f643937392effd
MD5 c14b0c5fefa34803c4eb8418a4255d21
BLAKE2b-256 4144ddd6628e81f34093c83f54dde6178c660f3fef05714a8190de9b555d5396

See more details on using hashes here.

File details

Details for the file robotframework_platynui-0.8.1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for robotframework_platynui-0.8.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5220348f226ac763e4f878a18893b901eb2cb05c4ebb138f4b49d6748c847bb6
MD5 7064180d0a4227e1c575b486374a4ecf
BLAKE2b-256 7882580b721c90bbf4bced909a56c4b37597c1452b7d83ce3a5b5d9f356bde94

See more details on using hashes here.

File details

Details for the file robotframework_platynui-0.8.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for robotframework_platynui-0.8.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 26b65088daa3d5ac0b33600273cba069e58db642a14527542e8565f205581044
MD5 f15c45c22b2e962c6a1a31eed54c5505
BLAKE2b-256 9f51d8c4e56d20a25c4346e6f4a0f8ad97c21602c1264c84868df467c1b05e52

See more details on using hashes here.

File details

Details for the file robotframework_platynui-0.8.1-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for robotframework_platynui-0.8.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 0586c3413f4532ba31d4f52d2ec64ed473cd5737b221895cb68dde27be1b4161
MD5 0f1a107ea9a81ede891f11fbecf0d1d1
BLAKE2b-256 9f518c8eb669afd9bc786ee13349c7db7e06a86db65a0e9317a148234e9b1f49

See more details on using hashes here.

File details

Details for the file robotframework_platynui-0.8.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for robotframework_platynui-0.8.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b708ae347861508b4f9964c7e720f1d174360110236fa11917207417830d6c60
MD5 b8eb0e2be0a08c70e7f6573a680a1e13
BLAKE2b-256 fea272034b31e287f00a9a880d960c7dfd466d507884ac43cc84a83e0612ea95

See more details on using hashes here.

File details

Details for the file robotframework_platynui-0.8.1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for robotframework_platynui-0.8.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 65b14ddf7aca6bb425cfc207b053b1ac8eb2baf74a7ed6371558f71760a78cd9
MD5 da787a42545ac2f4e80b609ee26ed2d9
BLAKE2b-256 6b49c3ec11d8afdf29d9be3741030becc8d84611dfe11b33b30a57a3719a8bb7

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