Real-time Robot Framework listener for UTEM Core — streams test results as tests run
Project description
utem-robot-reporter
Real-time Robot Framework listener for UTEM Core. Streams test results to the UTEM dashboard as tests run — zero external dependencies, uses only the Python standard library.
Installation
pip install utem-robot-reporter
Quick Start
robot --listener utem_robot_reporter.UtemListener tests/
Set the server URL via environment variable:
UTEM_SERVER_URL=http://myserver:8080/utem \
robot --listener utem_robot_reporter.UtemListener tests/
Or pass directly as a listener argument:
robot --listener "utem_robot_reporter.UtemListener:http://myserver:8080/utem:my-api-key" tests/
Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
UTEM_SERVER_URL |
UTEM server base URL | http://localhost:8080/utem |
UTEM_API_KEY |
Project API key | — |
UTEM_RUN_NAME |
Custom run name | Suite name |
UTEM_RUN_LABEL |
Tag (e.g. regression) |
— |
UTEM_JOB_NAME |
CI job name | — |
UTEM_DISABLED |
Set true to disable |
false |
utem.config.json
Create utem.config.json in your project root:
{
"serverUrl": "http://myserver:8080/utem",
"apiKey": "utem_your_api_key_here",
"runName": "My Test Suite",
"runLabel": "regression",
"jobName": "nightly",
"disabled": false
}
Priority: Listener args → Environment variables → utem.config.json → defaults
Screenshot Support (Selenium)
Register your WebDriver in a Suite Setup or a keyword called before tests run:
*** Settings ***
Library SeleniumLibrary
Library utem_robot_reporter
Suite Setup Open Browser And Register
*** Keywords ***
Open Browser And Register
Open Browser https://example.com chrome
Register Driver ${BROWSER}
Or from Python:
import utem_robot_reporter
# In your setup keyword or custom library
utem_robot_reporter.register_driver(driver)
Screenshots are automatically captured on test failure and attached in the UTEM dashboard.
CI Integration
GitHub Actions
- name: Run Robot Framework tests
run: robot --listener utem_robot_reporter.UtemListener tests/
env:
UTEM_SERVER_URL: http://your-utem-server:8080/utem
UTEM_API_KEY: ${{ secrets.UTEM_API_KEY }}
UTEM_RUN_NAME: "Robot - ${{ github.ref_name }}"
UTEM_RUN_LABEL: regression
Jenkins
stage('Test') {
environment {
UTEM_SERVER_URL = 'http://your-utem-server:8080/utem'
UTEM_API_KEY = credentials('utem-api-key')
UTEM_RUN_NAME = "Robot - ${env.BRANCH_NAME}"
}
steps {
sh 'robot --listener utem_robot_reporter.UtemListener tests/'
}
}
Disabling the Reporter
UTEM_DISABLED=true robot tests/
What Gets Reported
| Robot Framework event | UTEM event |
|---|---|
| Suite start (root) | TEST_RUN_STARTED + TEST_SUITE_STARTED |
| Suite start (nested) | TEST_SUITE_STARTED |
| Test start | TEST_CASE_STARTED |
| Test PASS | TEST_PASSED + TEST_CASE_FINISHED |
| Test FAIL | TEST_FAILED + TEST_CASE_FINISHED |
| Test SKIP / NOT RUN | TEST_SKIPPED + TEST_CASE_FINISHED |
| Suite end | TEST_SUITE_FINISHED |
| Suite end (root) | TEST_RUN_FINISHED |
| Failure screenshot | ATTACHMENT + file upload |
Requirements
- Python 3.8+
- Robot Framework 4+
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 utem_robot_reporter-0.1.0.tar.gz.
File metadata
- Download URL: utem_robot_reporter-0.1.0.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3fb436c4c3896250331540f01b46e446adfe659d2ae8780148b9976ec3ffd38
|
|
| MD5 |
3d2ef7485c0581c7c3a2db962b9aaba8
|
|
| BLAKE2b-256 |
46d1d24f61df62041e49d840840d49570801bc9bad1501c3fc8071c00130d6e6
|
File details
Details for the file utem_robot_reporter-0.1.0-py3-none-any.whl.
File metadata
- Download URL: utem_robot_reporter-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ce8a64c2a59ff318715777dd72412f62da369dbcd13e8eff1a392185147978f
|
|
| MD5 |
f3d6c10a4dc4742549d18e3192bd0ab2
|
|
| BLAKE2b-256 |
44bf69375872bc539d2eae707c8baee14d802966c8b73da576f51f3628de0fac
|