Skip to content

HTML Report Overview

When to Use

When VR tests fail (or pass with retries), and you need to see what changed and why.

Pattern

The Playwright HTML report is a self-contained static HTML bundle generated by @playwright/test after a test run. It contains:

  • index.html — the SPA entry point
  • A data/ (and resources/ / trace/) folder with attachments: screenshots (expected, actual, diff PNGs from toHaveScreenshot), ad-hoc page.screenshot() images, videos (.webm), trace archives (trace.zip), console logs, network logs
  • All JS/CSS bundled in — no external CDN required

Open from disk or any static host — but traces need a real HTTP server, so use show-report (see Viewing).

Decision

Reporter When
html Triage VR diffs, browse traces — the canonical post-run artifact
list Streaming line-per-test in terminal — local dev flow
line Single updating terminal line — minimal CI logs
dot One char per test — very large suites
json Machine-readable — custom dashboards
junit Required by Jenkins, Bamboo, Azure DevOps, GitLab test tab
github GitHub Actions inline annotations on PR diff
blob Sharded runs — merge later with playwright merge-reports

For VR, always include html. Combine with others for CI integration; never replace.

Common Mistakes

  • Using list only and trying to triage VR from terminal — no diff viewer; impossible to scrub a slider
  • Skipping html because reports "take up space" — they're regeneratable; the developer time saved on triage dwarfs the disk cost

See Also