Robot Framework’s built-in log.html and report.html files do the job, but they can feel a little plain once your test suite grows. This is where Allure report generation in Robot Framework tests becomes genuinely useful. Allure turns your raw test results into a clean, interactive report with timelines, categories, history trends, and drill-down details for every test step. In this guide, you’ll learn exactly how to set up Allure reporting for your Robot Framework project, from installing the listener to generating a static report you can deploy anywhere.
Why Use Allure with Robot Framework?
Before diving into the setup, it’s worth understanding why teams choose Allure over the default Robot Framework reports:
- Interactive UI – filter tests by status, severity, or tag with a single click.
- Step-level detail – see exactly which keyword or step failed, with logs attached.
- History and trends – track flaky tests and pass rates across multiple runs.
- CI/CD friendly – generates static HTML that’s easy to publish from Jenkins, GitHub Actions, or GitLab CI.
Now let’s walk through the actual implementation.
Step 1: Install the Required Python Listener Adapter
Allure needs a listener to hook into Robot Framework’s test execution and translate the results into a format it understands. Install this via pip:
pip install allure-robotframework
This package acts as the bridge between Robot Framework and the Allure reporting engine, so don’t skip it.
Step 2: Install the Allure CLI Tool
The Python package generates the raw result data, but you also need the Allure command-line tool to turn that data into an actual HTML report. Installation depends on your operating system.
On Windows (via Scoop):
scoop install allure
On Mac (via Homebrew):
brew install allure
If you’re on Linux, Allure is also available via manual download or package managers like apt with the appropriate repository added.
Step 3: Run Your Robot Framework Tests with the Allure Listener
With both pieces installed, you can now run your test suite and tell Robot Framework to send results to Allure using the --listener flag:
robot --listener allure_robotframework --outputdir reports/allure-results tests/
Here’s what this command does:
--listener allure_robotframeworkattaches the Allure listener to the test run.--outputdir reports/allure-resultstells Robot Framework where to store the raw Allure result files.tests/points to the folder containing your test suites.
After this runs, you’ll find a set of JSON and attachment files inside reports/allure-results. These aren’t meant to be read directly — they’re the raw data Allure uses to build the report.
Step 4: View the Report Instantly with Allure Serve
If you just want to check the results locally without generating permanent files, use allure serve:
allure serve reports/allure-results
This command spins up a temporary local web server, builds the report on the fly, and opens it directly in your default browser. It’s the fastest way to review results right after a test run, and it’s especially handy during local debugging.
Step 5: Generate a Static Report for Deployment
For CI/CD pipelines or sharing results with your team, you’ll want a permanent, static version of the report instead of a temporary server. Use allure generate for this:
allure generate reports/allure-results -o reports/allure-report --clean
Breaking this down:
reports/allure-resultsis the source folder with raw result data.-o reports/allure-reportspecifies the output folder for the generated HTML report.--cleanwipes out any previous report in that folder before generating a fresh one.
The resulting reports/allure-report folder contains a fully self-contained HTML report. You can publish it as a build artifact, host it on an internal server, or attach it to your CI pipeline’s results page.
Putting It All Together
Here’s the complete workflow in one place:
pip install allure-robotframeworkscoop install allure # Windowsbrew install allure # Macrobot --listener allure_robotframework --outputdir reports/allure-results tests/allure serve reports/allure-resultsallure generate reports/allure-results -o reports/allure-report --clean
Once this is wired into your test pipeline, every run automatically produces both raw results and a ready-to-share HTML report, no manual formatting required.
Final Thoughts
Setting up Allure report generation in Robot Framework tests takes just a few commands, but the payoff is significant: clearer test insights, easier debugging, and reports that are actually pleasant to share with stakeholders. Whether you’re running tests locally with allure serve or generating static reports for your CI/CD pipeline, Allure gives your Robot Framework suite a reporting layer that scales with your project.
If your team is already investing in test automation, adding Allure is a small setup cost for a much better reporting experience.
Related Links
- What is Robot Framework?
- Framework Architecture
- Installation
- Installing Browser Library
- Browser Library vs SeleniumLibrary
- Writing Your First Browser Test
- Sections in Robot Test File
- Robot Resource Files
- Robot Test Templates
- Robot Test Setup & TearDown
- Browser Library Keywords
- Data-Driven Testing using ExcelLibrary
- Rerun Failed Robot Tests
- Parallel Execution using Pabot
Discover more from Rotebit
Subscribe to get the latest posts sent to your email.
