RobotmkBridge integrates the results of arbitrary testing tools into Checkmk.
Project description
Robotmk Bridge
<<<<<<< Updated upstream Version: 0.1.0
The bridge between automation islands and your monitoring
Stashed changes
Robotmk Bridge is a Robot Framework library, listener, and CLI that for external test tools to convert their results into Robot Framework results.
It is used in two modes:
- In the Robotmk Bridge Agent Plugin which periodically writes converted results into the Robotmk results spool folder.
- As a Robot Framework Library to run external test tools from Robot Framework tests.
In this way, any test data can be imported into Checkmk monitoring with the help of Robotmk.
Features
- Unifies third-party test results inside Robot Framework log.html/report.html and the Robotmk Checkmk plug-in.
- Ships ready-made handlers, currently there is support for
- Provides the dynamic library
rmkbridge.RobotmkBridgeLibraryplus the listenerrmkbridge.listenerfor Robot test suites. - Offers a CLI (
python -m rmkbridge) to transform standalone result files into Robot Framework output.xml artifacts. - Lets you implement custom handlers by extending
rmkbridge.BaseHandler.
Installation
pip install robotframework-robotmk-bridge
Prerequisites
- Windows, Linux, or macOS
- Python 3.10+
- Robot Framework 6.x (Robot Framework 7+ support is planned)
- pip and any extra requirements your handlers need
To verify the installation:
python -m rmkbridge --version
Quickstart
Option 1: Use as a Library to execute Test tools from Robot Framework
This mode consists of two steps:
- Running the tool in Robot Framework
- Running the Bridge-Listener
Step 1: Running the tool in Robot Framework
Each supported external test tool comes with a special trigger keyword Run <tool> to run the tool from inside Robot Framework.
Depending on the Handler, the keywords support individual arguments.
*** Settings ***
Library rmkbridge.RobotmkBridgeLibrary
*** Test Cases ***
JUnit unit tests should pass
Custom Keyword 1
Run JUnit path/to/results.xml java -jar junit.jar --reports-dir path/to
Custom Keyword 2
Gatling regression should stay green
Custom Keyword 1
Run Gatling path/to/gatling.log ${GATLING_HOME}/bin/gatling.sh --simulation MySimulation
Custom Keyword 2
ZAP scan finds no blockers
Custom Keyword 1
Run Zap path/to/zap.json python zap_scan.py
Custom Keyword 2
Step 2: Running the Listener
Now execute the suite with the Robotmk Bridge listener so the external reports are injected into the output:
robot --listener rmkbridge.listener tests/my_suite.robot
Robotmk Bridge creates Test Results using the following rules:
- trigger keywords (which run the tools) become Test Cases.
- Keywords before the trigger keyword are wrapped into a Test Setup keyword.
- Keywords before the trigger keyword are wrapped into a Test Teardown keyword.
Option 2: Command Line Usage to convert existing results
Use the CLI when you need to convert tool reports without running Robot Framework suites:
python -m rmkbridge rmkbridge.junit --result-file path/to/results.xml
- The converted file gets created next to the source as
*_robot_output.xml. - Similar to trigger keywords, each handler also exposes its own CLI flags. List them with
python -m rmkbridge rmkbridge.junit --help. - Global switches:
python -m rmkbridge --print-configpython -m rmkbridge --add-config path/to/custom_handler.ymlpython -m rmkbridge --reset-config
Keyword Documentation
-
Regenerate locally when you add handlers:
python -m robot.libdoc rmkbridge.RobotmkBridgeLibrary docs/RobotmkBridgeLibrary-$(python -c "import rmkbridge; print(rmkbridge.VERSION)").html
🤝 Contribute Your Own Handlers!
The Robotmk Bridge is an open-source project — and we’d love to see it grow with the help of the community! Our goal is to make Robotmk a truly multi-purpose integration layer for all kinds of test results.
If you’re working with a testing tool that isn’t supported yet, consider developing your own Bridge Handler and sharing it with others. Every new handler expands what Robotmk can do and helps bring monitoring and test automation even closer together.
Pull requests, discussions, and ideas are always welcome!
Read more:
License & Acknowledgements
Special thanks to Eficdoe Oy, Finland. RobotmkBridge is based on their project robotframework-oxygen.
See ACKNOWLEDGEMENTS.md for the roots of the project and credits.
Released under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file robotframework_robotmk_bridge-0.1.1.tar.gz.
File metadata
- Download URL: robotframework_robotmk_bridge-0.1.1.tar.gz
- Upload date:
- Size: 23.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f34136f36e26fc0a708044c7b75de394d3b31eae346e565dbc47395296f7b3a
|
|
| MD5 |
d2f7228b9b3b553f47f181d8a96cd8fe
|
|
| BLAKE2b-256 |
7def914b1e7e2780c279919cbb8135e01ea8f7b9c5be2a3ed4984cfd06e6a461
|
Provenance
The following attestation bundles were made for robotframework_robotmk_bridge-0.1.1.tar.gz:
Publisher:
release.yml on elabit/robotmk-bridge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
robotframework_robotmk_bridge-0.1.1.tar.gz -
Subject digest:
7f34136f36e26fc0a708044c7b75de394d3b31eae346e565dbc47395296f7b3a - Sigstore transparency entry: 698119869
- Sigstore integration time:
-
Permalink:
elabit/robotmk-bridge@d982f5bd0c9d8d3f1c59eb4f00003c54f26ac7cf -
Branch / Tag:
refs/heads/main - Owner: https://github.com/elabit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d982f5bd0c9d8d3f1c59eb4f00003c54f26ac7cf -
Trigger Event:
push
-
Statement type:
File details
Details for the file robotframework_robotmk_bridge-0.1.1-py3-none-any.whl.
File metadata
- Download URL: robotframework_robotmk_bridge-0.1.1-py3-none-any.whl
- Upload date:
- Size: 26.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c986f248d72b239ddf982c86d8b4941c5bf4794e9f85f08f681654e033ef03d
|
|
| MD5 |
94fd5acbc294f6273d6395d8259bcd1b
|
|
| BLAKE2b-256 |
016da5b390429383e204c66efe42b9144bc4b5c83a9b2339e620eb138f4ff21b
|
Provenance
The following attestation bundles were made for robotframework_robotmk_bridge-0.1.1-py3-none-any.whl:
Publisher:
release.yml on elabit/robotmk-bridge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
robotframework_robotmk_bridge-0.1.1-py3-none-any.whl -
Subject digest:
7c986f248d72b239ddf982c86d8b4941c5bf4794e9f85f08f681654e033ef03d - Sigstore transparency entry: 698119875
- Sigstore integration time:
-
Permalink:
elabit/robotmk-bridge@d982f5bd0c9d8d3f1c59eb4f00003c54f26ac7cf -
Branch / Tag:
refs/heads/main - Owner: https://github.com/elabit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d982f5bd0c9d8d3f1c59eb4f00003c54f26ac7cf -
Trigger Event:
push
-
Statement type: