Skip to main content

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


Download files

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

Source Distribution

utem_robot_reporter-0.1.0.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

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

utem_robot_reporter-0.1.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

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

Hashes for utem_robot_reporter-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f3fb436c4c3896250331540f01b46e446adfe659d2ae8780148b9976ec3ffd38
MD5 3d2ef7485c0581c7c3a2db962b9aaba8
BLAKE2b-256 46d1d24f61df62041e49d840840d49570801bc9bad1501c3fc8071c00130d6e6

See more details on using hashes here.

File details

Details for the file utem_robot_reporter-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for utem_robot_reporter-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6ce8a64c2a59ff318715777dd72412f62da369dbcd13e8eff1a392185147978f
MD5 f3d6c10a4dc4742549d18e3192bd0ab2
BLAKE2b-256 44bf69375872bc539d2eae707c8baee14d802966c8b73da576f51f3628de0fac

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