Skip to main content

Generate a modern, interactive HTML report from Robot Framework output.xml

Project description

Robotframework ReportLens

PyPI version Python PyPI Downloads CI Tests Ask DeepWiki

ReportLens turns Robot Framework XML output (output.xml) into a single, self-contained HTML report with a modern, interactive UI.

Sample Report

View generated reports here

Sample Report

Sample Report

Installation

pip install robotframework-reportlens

Requires Python 3.10+. No extra dependencies (stdlib only).

Usage

After running Robot Framework tests (e.g. robot test/), generate a report from output.xml:

reportlens output.xml -o report.html

Arguments:

  • xml_file – Path to Robot Framework XML output (e.g. output.xml)
  • -o, --output – Output HTML path (default: report.html)
  • --external-data – Store report data in reportlens-data/ and fetch it lazily (recommended for huge suites)

Examples:

# Default output (report.html in current directory)
reportlens output.xml

# Custom output path
reportlens output.xml -o docs/report.html

# External-data mode (lazy loading + smaller HTML)
reportlens output.xml -o report.html --external-data

Open the generated .html file in a browser.

External-data mode note When using --external-data, open the report via a local web server (e.g. python -m http.server). Opening the file directly with file:// will show a banner with a helpful link to the hosted report.

You can also run the module directly:

python -m robotframework_reportlens output.xml -o report.html

Features

  • Suite/test tree – Navigate suites and tests with pass/fail/skip counts
  • Search & filters – Filter by status and tags; search test names
  • External-data mode – Optional --external-data output for lazy loading and smaller HTML files
  • Keyword tree – Expand SETUP, keywords, and TEARDOWN; select a keyword to see its logs
  • Logs panel – Log level filter (All, ERROR, WARN, INFO, etc.); copy button on each log message (shown on hover)
  • Failed-tests summary – Quick access to failed tests from the sidebar
  • Dark/light theme – Toggle in the report header
  • Batch rendering – Large suites render tests in batches for smoother UI performance
  • Fixed layout – Same layout on all screens; zoom and scroll as needed

How it works

ReportLens reads output.xml, parses suites, tests, keywords, and messages, then builds one HTML file from a bundled template. The report is data-driven: all content is embedded as JSON and rendered by JavaScript in the browser. No server required.

Development / source layout

├── robotframework_reportlens/
│   ├── __init__.py
│   ├── cli.py           # reportlens entry point
│   ├── generator.py     # XML → report data → HTML
│   └── template/
│       └── template.html
├── tests/
│   ├── conftest.py      # pytest fixtures
│   ├── test_cli.py      # CLI tests
│   ├── test_generator.py # report generator tests
│   └── fixtures/        # minimal Robot output.xml for tests
├── pyproject.toml
└── README.md

Running tests

Install with dev dependencies and run pytest:

pip install -e ".[dev]"
pytest tests/ -v

License

Apache License 2.0 - See LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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_reportlens-0.1.6.tar.gz (49.7 kB view details)

Uploaded Source

Built Distribution

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

robotframework_reportlens-0.1.6-py3-none-any.whl (44.2 kB view details)

Uploaded Python 3

File details

Details for the file robotframework_reportlens-0.1.6.tar.gz.

File metadata

File hashes

Hashes for robotframework_reportlens-0.1.6.tar.gz
Algorithm Hash digest
SHA256 7c469b04cb9f7129b799af3128d5d197118a618971375529b1bc6604b3dea1da
MD5 cf0fb421c89c63db154804eff3b2e44a
BLAKE2b-256 0a8dfa9158d6389df6baa9be6fd963054b65839cdc12f5ce6b9c07b30df0e9ae

See more details on using hashes here.

File details

Details for the file robotframework_reportlens-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for robotframework_reportlens-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 919341d2d58f246ec9711edf6d22f91b796b073d6310e38631fed7677514f0a2
MD5 c931eba04bd75e50904c21214f39b401
BLAKE2b-256 1235f4095cd621ca53aca30938097d1970f86d2ea31e013d6d34023a41303e09

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