HTML Report
--report html writes the run to one page that opens offline, so you can keep it as a CI artifact or attach it to a bug report.
$ uvx schemathesis run https://example.schemathesis.io/openapi.json \
--report html
...
Reports:
- HTML: schemathesis-report/html-20261011T121716Z/index.html
Pass --report-html-path ./html-report for a fixed directory.
- The verdict counts tests only; an amber line explains any other non-zero exit.
- Warnings that can make a pass meaningless, like
401everywhere, come first. - Each failure shows the response, a
curlcommand andst replay.
In CI
Upload the report even when the job fails; that is the run you want to read.
- uses: schemathesis/action@v3
with:
schema: 'http://localhost:8080/openapi.json'
args: '--report html'
- uses: actions/upload-artifact@v7
if: always()
with:
name: schemathesis-html-report
path: schemathesis-report/
With pytest
Tests that use the pytest plugin write the same page when schemathesis.toml enables it:
[reports.html]
enabled = true
Before Sharing
Schemathesis masks values whose keys look sensitive, but writes response bodies as the API returned them. Read the bodies before you post the page anywhere public.
