Allure Integration
Export Schemathesis test results as Allure report files.
Installation
Allure support is an optional extra:
uv add 'schemathesis[allure]'
This installs allure-python-commons. You also need the Allure CLI to generate and view the HTML report.
CLI Usage
Pass --report-allure-path to write Allure result files to a directory:
uvx schemathesis run https://api.example.com/openapi.json \
--report-allure-path allure-results
Then generate and open the report:
allure generate allure-results -o allure-report
allure open allure-report

You can also configure it in schemathesis.toml which will work for CLI & pytest plugin alike:
[reports.allure]
path = "allure-results"
What the Report Shows
Each API operation becomes one Allure test result.
Failures appear as one step per unique failing request, titled Test Case: <id>, with check names, response body, and a curl command to reproduce.

Labels:
| Label | Value |
|---|---|
story |
Operation label, e.g. POST /users |
framework |
schemathesis |
layer |
API |
epic |
API title from info.title (when present) |
feature |
OpenAPI operation tags (only set when tags exist) |
Dynamic Allure API
Inside @schema.parametrize() tests, standard allure calls work and are routed to the Schemathesis-managed result for that operation.
import allure
@schema.parametrize()
def test_api(case):
allure.dynamic.title(f"Testing {case.method} {case.path}")
allure.attach("extra context", name="note", attachment_type=allure.attachment_type.TEXT)
allure.link("https://example.com/docs", name="API Docs")
case.call_and_validate()
Coexistence with allure-pytest
If you use allure-pytest in the same suite, keep its results in a separate directory to avoid mixing result schemas:
# Schemathesis results
uvx schemathesis run https://api.example.com/openapi.json \
--report-allure-path allure-results/schemathesis
# allure-pytest results go to allure-results/pytest (controlled by --alluredir)
pytest tests/ --alluredir=allure-results/pytest
Docker
The Schemathesis Docker image has Allure support pre-installed — no extra setup needed. Mount a directory and pass --report-allure-path to write raw result files to your host:
docker run \
-v ./allure-results:/app/allure-results \
ghcr.io/schemathesis/schemathesis:stable \
run --report-allure-path /app/allure-results \
https://api.example.com/openapi.json
Then generate the report on your host using the Allure CLI:
allure generate allure-results -o allure-report
allure open allure-report
The Allure CLI is not included in the image — it is a separate Java tool. Run it on your host or in a dedicated CI step.
Configuration Reference
See the Reporting section in the Configuration Options reference.