Allure is a test reporting framework that normalizes execution data from multiple test frameworks across different programming languages into a common intermediate format. It aggregates results from multiple sources into a shared directory of JSON files and generates self-contained HTML reports through a modular plugin pipeline. The architecture includes a hierarchical step tree model to represent test execution, metadata annotation injection to enrich results at runtime, and directory-watch incremental rendering that regenerates reports in real time as new data arrives.
Unlike generic reporting tools, Allure differentiates itself with deep CI/CD integration: it can automatically generate and publish test reports inside pipelines, enforce custom quality gates on test results to block deployments when thresholds are violated, and post visual test summaries on pull requests. It supports selective test execution from plan files and can rerun failed tests. For long-term analysis, it persists test history for trend tracking, identifies flaky and retried tests, and detects status regressions across runs. Reports can be organized into hierarchical structures by behavior, suite, or package, and include environment metadata for context.
The framework provides extensive enrichment capabilities: tests can be annotated with severity, owner, labels, and links; artifacts such as screenshots, video, logs, and HTTP request/response data can be attached directly to results; test execution can be decomposed into named steps and sub-steps with parameter values displayed in the report. It also supports parameterized data-driven tests, failure categorization by custom rules, export to CSV, and integration with IDEs and third-party quality rules.
Allure is installed across platforms via multiple methods and generates portable HTML reports that can be opened directly in a browser or served via a local web server, with no external dependencies required.