Skip to main content

RobotmkBridge integrates the results of arbitrary testing tools into Checkmk.

Project description

Robotmk Bridge

<<<<<<< HEAD <<<<<<< Updated upstream Version: 0.1.0

The bridge between automation islands and your monitoring

Stashed changes ======= The bridge between automation islands and your monitoring docs/readme

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:

<<<<<<< HEAD

  • 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.RobotmkBridgeLibrary plus the listener rmkbridge.listener for 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. =======
  • As Python Package, e.g. in the Robotmk Bridge Agent Plugin
  • As a Robot Framework Library to run external test tools from Robot Framework tests.

In both cases, the goal is to integrate any test results into Checkmk monitoring with the help of Robotmk.

Features

  • Unifies third-party test results into the Robot Framework XML format
  • Conversion is done by Handlers,
    • currently there is support for
    • Lets you implement custom handlers by extending rmkbridge.BaseHandler.
  • Working modes
    • Use as a library rmkbridge.RobotmkBridgeLibrary plus the listener rmkbridge.listener
    • Convert existing results via CLI (python -m rmkbridge)

docs/readme

Installation

pip install robotframework-robotmk-bridge

Prerequisites

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:

<<<<<<< HEAD

  1. Running the tool in Robot Framework =======
  2. Running the tool in Robot Framework via Run keyword

docs/readme

  1. 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. <<<<<<< HEAD Depending on the Handler, the keywords support individual arguments.

Depending on the Handler, the keywords support individual arguments.

docs/readme

*** Settings ***
Library    rmkbridge.RobotmkBridgeLibrary

*** Test Cases ***
<<<<<<< HEAD
=======
# runs a JUnit test
>>>>>>> docs/readme
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

<<<<<<< HEAD
=======
# runs a Gatling test
>>>>>>> docs/readme
Gatling regression should stay green
    Custom Keyword 1
    Run Gatling    path/to/gatling.log    ${GATLING_HOME}/bin/gatling.sh --simulation MySimulation
    Custom Keyword 2

<<<<<<< HEAD
=======
# Runs a ZAP test
>>>>>>> docs/readme
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

<<<<<<< HEAD Now execute the suite with the Robotmk Bridge listener so the external reports are injected into the output:

After the suite execution, run the suite with the Robotmk Bridge listener so the external reports are injected into the output:

docs/readme

robot --listener rmkbridge.listener tests/my_suite.robot

<<<<<<< HEAD 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.

======= The listener then creates test results using the following rules:

  • Keywords before the trigger keyword are wrapped into a Test Setup keyword.
  • trigger keywords (which run the tools) become Test Cases.
  • Keywords after the trigger keyword are wrapped into a Test Teardown keyword.

Note: you should use only 1 trigger keyword per test case.

docs/readme

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-config
    • python -m rmkbridge --add-config path/to/custom_handler.yml
    • python -m rmkbridge --reset-config

Keyword Documentation

  • Open the generated keyword reference

  • 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!

<<<<<<< HEAD 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.

Robotmk Bridge is an open-source project — and we’d love to see it grow with the help of the community!

With a growing number of handlers, 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.

docs/readme 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

<<<<<<< HEAD

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.

RobotmkBridge stands on the shoulders of giants: the project robotframework-oxygen, written by Eficode Oy, Finland 🇫🇮.

See ACKNOWLEDGEMENTS.md for the roots of the project and credits.

docs/readme Released under the MIT 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 Distribution

robotframework_robotmk_bridge-0.1.2.tar.gz (24.0 kB view details)

Uploaded Source

Built Distribution

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

robotframework_robotmk_bridge-0.1.2-py3-none-any.whl (27.1 kB view details)

Uploaded Python 3

File details

Details for the file robotframework_robotmk_bridge-0.1.2.tar.gz.

File metadata

File hashes

Hashes for robotframework_robotmk_bridge-0.1.2.tar.gz
Algorithm Hash digest
SHA256 38ecf318c7b90bae5209b3790b887191650ce930e12331adf76d2b0915357577
MD5 27544d9c812d6c6eb46a927a8ba06070
BLAKE2b-256 48af8a954c8471f6d3d348aa709a065d257789b16da10e51a5ded900d8fbfcff

See more details on using hashes here.

Provenance

The following attestation bundles were made for robotframework_robotmk_bridge-0.1.2.tar.gz:

Publisher: release.yml on elabit/robotmk-bridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file robotframework_robotmk_bridge-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for robotframework_robotmk_bridge-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 96ae3221477dd116100ba1229085ecdb0b69a214f9139d5dc4d88ecac9ab2af0
MD5 e810802b349dd4c2610004cc7ad0f8be
BLAKE2b-256 2c5775866a12e261ea343f6c356650a145a4ca5ff496b771eccfbc018c42efbc

See more details on using hashes here.

Provenance

The following attestation bundles were made for robotframework_robotmk_bridge-0.1.2-py3-none-any.whl:

Publisher: release.yml on elabit/robotmk-bridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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