You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> **Ready-to-run Robot Framework suites for [Checkmk](https://checkmk.com) synthetic monitoring with [Robotmk](https://www.robotmk.org), the [Robot Framework](https://robotframework.org/) integration for Checkmk.**
16
+
This repository provides **working examples** to learn and test [Robot Framework](https://robotframework.org/) automation - the test scripting language used by [Robotmk](https://www.robotmk.org) for *Synthetic Monitoring* in [Checkmk](https://checkmk.com).
16
17
17
-
This repo gives you a running starting point.
18
+
## Choose your path:
18
19
19
-
## Overview
20
+
You want to...
20
21
21
-
Two kinds of content live here:
22
+
- ... play around with working **Robot Framework** examples?
23
+
→ Read the [example guide](docs/example_guide.md) - *Copy/Paste the examples or try them online.*
24
+
- ... need a skeleton to start your own **Robot Framework** suite?
25
+
→ Check out the [templates](templates/) folder - *Copy one, fill in your test steps, run it.*
26
+
- ... 🚀 want to **start a Checkmk playground** to live test **Robotmk** for Synthetic Monitoring*?
27
+
→ Read the [Checkmk codespace documentation](docs/CMK-Codespace.md).
|**What**| Full working RF suites | Minimal skeletons |
26
-
|**Purpose**| Learn by example, adapt and copy | Blank canvas for your own suite |
27
29
28
-
The tables below are auto-generated from each suite's content and refreshed on every CI run.
29
30
30
31
31
-
## /examples
32
+
## Content
32
33
33
-
All examples are automatically deployed to individual GitHub repositories.
34
-
Click on "*try out*" to open the example repo, where you find instructions to run it locally, in VS Code, or online in the Github Codespace.
34
+
### Folder "/examples"
35
35
36
+
A great starting point to **learn** from working Robot Framework test suites.
36
37
38
+
To try them out, just click on "*try out*" which opens the repository, where you find instructions.
37
39
38
40
<!-- EXAMPLES-TABLE-START -->
39
41
@@ -45,25 +47,13 @@ Click on "*try out*" to open the example repo, where you find instructions to ru
45
47
46
48
<!-- EXAMPLES-TABLE-END -->
47
49
48
-
### Your Checkmk Playground: Codespace
49
-
50
-
As a **bonus**, this repo also contains a Checkmk `.devcontainer/` that spins up a full **CheckMK Pro** instance with a **Fluxbox/noVNC desktop**.
51
-
52
-

53
-
54
-
This is useful to play around with **Checkmk**, **Robotmk** and all the examples together in a pre-configured environment **without installing anything locally**.
55
-
56
-
[](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=1229554077)
57
-
58
-
Also read the [Full Guide: How to use Checkmk in Codespace](docs/CMK-Codespace.md)
59
-
60
-
61
50
---
62
51
63
-
## /templates
52
+
### Folder "/templates"
53
+
54
+
These templates provide useful **skeletons** when you want to start your own Robot Framework suite.
64
55
65
-
Templates are minimal — they contain the structure/concept but not the logic.
66
-
Copy one, fill in your test steps, run it.
56
+
Each template focuses on a specific use case or integration, providing a ready-to-use structure and example test cases.
67
57
68
58
<!-- TEMPLATES-TABLE-START -->
69
59
@@ -78,30 +68,17 @@ Copy one, fill in your test steps, run it.
78
68
## For maintainers
79
69
80
70
Examples and templates are generated from Copier sources in `_dev/`.
81
-
Version pins live in a single file — one edit, one `task generate`, done.
82
-
83
-
→ [_dev/README.md](_dev/README.md)
84
-
85
-
86
-
## Closing Notes
87
-
88
-
This is only the beginning of the journey, there is a lot more to explore in the world of **Robot Framework, Robotmk and Checkmk**.
71
+
Version pins live in a single file with packages and versions — edit, `task generate`, done.
89
72
90
-
In case you have found a bug or have suggestions for improvements, please feel free to open an issue or even better, a pull request.
73
+
→ [Dev documentation](_dev/README.md)
91
74
92
-
If you want to learn more, there are several ways of how we can support you:
- Code Review of existing Tests & Coaching Sessions
98
-
- "Extended Workbench" - We work together on your test automation projects for a defined period of time
76
+
## About
99
77
100
-
Reach out to us via mail at robotmk.org or book a free [clarification call](https://meet.brevo.com/simon-meggle).
78
+
Found a bug or have a suggestion?
79
+
→ [Open an issue](https://github.com/robotmk/robotmk-starter/issues) or submit a [pull request](https://github.com/robotmk/robotmk-starter/pulls) — contributions are welcome.
Want to go deeper? Want ot get a certified professional?
82
+
→ I offer [Synthetic Monitoring Trainings](https://lp.robotmk.org/robotmk-masterclass-4d-en) or book a free [call](https://meet.brevo.com/simon-meggle).
103
83
104
-
**Simon Meggle**
105
-
*CEO Elabit GmbH*
106
-
*Founder of Robotmk*
107
-
*Product Manager of Synthetic Monitoring at Checkmk*
84
+
**Simon Meggle** — Founder of Robotmk, Product Manager Synthetic Monitoring at Checkmk
Minimal example for using [robotframework-crypto](https://github.com/Snooz82/robotframework-crypto) with Robotmk.
4
-
Demonstrates how to store an encrypted secret in a Robot Framework suite and decrypt it at runtime using a private key file — no plaintext passwords anywhere in the codebase.
3
+
{% include 'how-to-run.partial.md' %}
4
+
5
+
## About this Robot Framework test
6
+
7
+
Minimal example for using [robotframework-crypto](https://github.com/Snooz82/robotframework-crypto) with Robotmk.
8
+
Demonstrates how to store an encrypted secret in a Robot Framework suite and decrypt it at runtime using a private key file — no plaintext passwords anywhere in the codebase!
5
9
6
-
## What This Demonstrates
7
10
8
11
- Encrypting a password with `CryptoLibrary` and storing the `crypt:…` value in the suite
9
12
- Passing the key password via an environment variable (`RMKCRYPTPW`)
@@ -15,18 +18,15 @@ Demonstrates how to store an encrypted secret in a Robot Framework suite and dec
15
18
|---|---|
16
19
|`Test Password Equality`| Decrypts an encrypted password string and asserts it equals the known plaintext |
17
20
18
-
## Key Files
19
-
20
-
| File | Purpose |
21
-
|---|---|
22
-
|`suite.robot`| Single test suite with the `Test Password Equality` test case |
Minimal example for extending Robot Framework with a custom Python library.
4
8
Demonstrates how to write a simple Python class, expose its methods as keywords via the `@keyword` decorator, and import the library directly into a suite.
5
9
6
-
## What This Demonstrates
7
10
8
11
- Writing a custom Robot Framework library as a plain Python class (`CustomLibrary.py`)
9
12
- Exposing Python methods as RF keywords with `@keyword` from `robot.api.deco`
@@ -17,17 +20,13 @@ Demonstrates how to write a simple Python class, expose its methods as keywords
17
20
|`Test Hello`| Calls the `Say Hello` keyword and logs a greeting |
18
21
|`Test Addition`| Calls `Add Numbers` with two integers and logs the result |
19
22
20
-
## Key Files
21
-
22
-
| File | Purpose |
23
-
|---|---|
24
-
|`suite.robot`| Suite importing `CustomLibrary.py` with two test cases |
25
-
|`CustomLibrary.py`| Custom library with `Say Hello` and `Add Numbers` keywords |
Minimal example for loading variables and configuration into a Robot Framework suite from Python and YAML files.
4
8
Demonstrates the three variable file patterns supported by RF: plain scalars, nested dicts, and the `get_variables()` function — plus YAML as a data-format alternative to Python.
5
9
6
-
## What This Demonstrates
7
10
8
11
- Exposing computed scalar values (e.g. current user, timestamp) from a Python variable file
9
12
- Accessing values from a nested dict loaded via a Python variable file using the `[key]` subscript syntax
@@ -20,20 +23,13 @@ Demonstrates the three variable file patterns supported by RF: plain scalars, ne
20
23
|`Test YML-Nested`| How to load a nested data structure from a YAML variable file |
21
24
|`Test Get-Variables With Argument`| How to use `get_variables()` to return different variable sets based on an argument passed at import time |
22
25
23
-
## Key Files
24
-
25
-
| File | Purpose |
26
-
|---|---|
27
-
|`suite.robot`| Suite importing all four variable files and demonstrating each pattern |
28
-
|`Data/pyvars-simple.py`| Plain variable file with computed scalars (user, timestamp, random int) |
Copy file name to clipboardExpand all lines: _dev/_examples/rf-python-varfiles/template/suite.robot
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
*** Settings ***
2
-
Documentation This suite demonstrates how to load variables from Pythonand YAML variable files.
2
+
Documentation A suite to demonstrate how to load **variables** from **Python**, **JSON** and **YAML** variable files, including nested data structures.
0 commit comments