Allure reporting in Robot Framework

Allure Report Generation in Robot Framework Tests

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_robotframework attaches the Allure listener to the test run.
  • --outputdir reports/allure-results tells 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-results is the source folder with raw result data.
  • -o reports/allure-report specifies the output folder for the generated HTML report.
  • --clean wipes 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-robotframework
scoop install allure # Windows
brew install allure # Mac
robot --listener allure_robotframework --outputdir reports/allure-results tests/
allure serve reports/allure-results
allure 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


Discover more from Rotebit

Subscribe to get the latest posts sent to your email.

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply