Playwright report for CI and local runs

Playwright reports turn raw test output into clear, actionable insights for CI and local runs. This guide covers HTML and JSON reporting, CI best practices, and faster failure debugging.

Playwright report for CI and local runs

Automated testing only delivers real value when teams clearly understand what happened during every run, and that understanding comes from a well-structured Playwright report.

A clear Playwright test report acts as the bridge between raw test execution and confident release decisions, helping teams quickly identify whether failures are real regressions or test noise.

Studies show that nearly 70% of QA time is spent analyzing failures rather than writing new tests, which makes reporting quality a major productivity multiplier.

Strong Playwright reporting, especially when using the Playwright HTML reporter and Playwright JSON report, reduces noise, improves test result visualization, and accelerates failed test debugging across QA and development teams.

In this guide, we will see how to generate, customize, and optimize Playwright reports for both CI and local runs, including best practices for Playwright report configuration, CI-friendly reporting, and actionable insights for faster, more reliable releases.

What is a Playwright Report and Why Does it Matter

A Playwright report includes critical execution details, such as pass/fail status, test duration, browser coverage, retries, and rich artifacts like screenshots, videos, and traces.

Playwright reports display test status indicators for each test case, such as 'passed,' 'failed,' or 'skipped,' making it easy to interpret outcomes at a glance.

This Playwright test report serves as reliable test evidence and a shared source of truth for QA engineers, developers, test leads, and other stakeholders across the release cycle.

According to GitHub Octoverse data, teams using structured automated test reports detect up to 40% more regressions before production compared to teams relying only on logs.

A well-configured Playwright test report, especially when using the Playwright HTML reporter and Playwright JSON report, directly improves software quality by increasing visibility, speeding up debugging, and strengthening CI/CD decision-making.

Where Playwright Reports Fit in the Workflow

Playwright reports sit immediately after test execution and just before release decisions are made. They transform raw automation output into actionable insights by summarizing results through a structured Playwright test report.

In CI/CD pipelines, Playwright reports act as CI test reports and build artifacts that influence key decisions, including:

  • Merge approvals based on Playwright test report status

  • Deployment gates driven by Playwright HTML reporter results

  • Rollback decisions supported by Playwright JSON report data and test evidence

  • Overall release confidence through consistent Playwright report configuration

Understanding Playwright Test Automation Reports

Playwright provides multiple default reporters designed to support different testing and reporting use cases. These include the Playwright HTML reporter, Playwright JSON report, and lightweight console-based reporters used during local and CI runs.

Each Playwright report type offers a different level of test result visualization, automation, and integration, allowing teams to choose the right Playwright test report format based on their workflow and CI/CD needs.

Default Playwright Report Types: HTML Report and More

Playwright ships with several built-in reporters that cover both human-readable and machine-consumable reporting requirements:

  • Playwright HTML reporter for rich visual debugging, screenshots, videos, and trace viewer access

  • Playwright JSON report for structured, machine-readable output used in analytics and custom reporting

  • Line, dot, and list reporters for fast terminal feedback during local execution

The Playwright HTML reporter is used by over 70% of teams because of its clarity and ease of debugging.

Where Reports Fit in the Playwright Workflow

Playwright reports are generated immediately after test execution and stored in the artifacts folder. CI pipelines, dashboards, and automated test analytics tools consume these outputs.

A consistent Playwright report folder structure ensures traceability, auditability, and reliable access to Playwright test reports across local runs and CI environments.

It Worked on My Machine
That excuse is weak. See exactly what happened in the CI environment
Debug Instantly CTA Graphic

How to Generate Playwright Reports

Generating a Playwright report is a straightforward process, but following the right steps ensures consistent and CI-ready Playwright test reports for both local and automated runs.

Step 1: Install Playwright and Initialize Tests

First, make sure Playwright is installed and initialized in your project. This sets up the default test runner and configuration needed for reporting.

terminal
npm init playwright@latest

This command creates the basic Playwright setup, including the default playwright.config.ts file where Playwright report configuration is defined.

Step 2: Run Tests with the Default Reporter

By default, Playwright generates a simple console-based report. This is useful for quick feedback but limited for debugging.

terminal
npx playwright test

At this stage, you get basic pass or fail output, but no rich Playwright HTML report or structured Playwright JSON report.

Step 3: Generate a Playwright HTML Report from the CLI

To generate a visual Playwright HTML reporter output, run tests with the HTML reporter enabled.

terminal
npx playwright test --reporter=html

This command creates a Playwright report inside the playwright-report folder. You can open the report locally to view test results, screenshots, videos, and traces.

Step 4: Configure Reporters in playwright.config.ts

For consistent reporting across local and CI runs, configure reporters in

playwright.config.ts
import { defineConfig } from '@playwright/test';
export default defineConfig({
  reporter: [
    ['html', { outputFolder'playwright-report'open'never' }],
    ['json', { outputFile'report.json' }]
  ],
});

This setup generates both a Playwright HTML report and a Playwright JSON report, enabling visual debugging and automation-friendly output.

Step 5: Run Tests and Verify Report Output

Run your Playwright tests again after configuration.

terminal
npx playwright test

Verify that the Playwright test report HTML output is generated in the configured folder and that the JSON file contains structured test results.

Step 6: Store Reports as CI Artifacts

In CI environments, ensure the Playwright report folder is stored as an artifact. This allows teams to download and review test results after the pipeline completes.

This step ensures Playwright reports remain accessible for debugging, auditing, and team collaboration across CI/CD pipelines.

Customizing Your Playwright Reports with Custom Reporters

Many teams extend Playwright reporting using third-party tools or custom integrations to go beyond basic HTML output. These enhancements improve test result visualization, enable automated test analytics, and provide deeper test run insights across CI and local runs.

Customization allows teams to adapt each Playwright report to their workflow, whether the goal is long-term trend analysis, compliance reporting, or advanced debugging for failed tests.

Playwright Allure Report Setup

The Playwright allure report is a popular choice for teams that need historical visibility across multiple runs. Allure provides interactive dashboards, test summaries, timelines, and trend analysis built on top of Playwright results.

Organizations report up to a 25% reduction in flaky tests after adopting Allure reporting, primarily due to improved visibility into failure patterns and retries.

Integrating Allure with Playwright test reports helps teams move from reactive debugging to proactive quality management.

Custom Playwright Report Solutions

Some teams build a Playwright custom report using the Playwright JSON report as the data source.

This approach is ideal for organizations with branding, compliance, or security requirements that standard reporters cannot meet.

Custom Playwright reports enable deep integration with internal dashboards, CI systems, and automated test analytics platforms, turning raw test data into actionable insights tailored to the organization's needs.

Optimizing Playwright Reports for CI/CD Test Execution

CI environments introduce unique challenges such as parallel execution, ephemeral runners, and limited storage. Proper Playwright report configuration ensures that Playwright test reports remain reliable, accessible, and actionable across CI pipelines.

Industry data shows that over 80% of CI failures are diagnosed using test reports rather than raw logs, highlighting the importance of clear and consistent Playwright reporting in CI/CD workflows.

Merging Playwright Reports in CI

Parallel test execution significantly improves CI speed, but it also fragments results across multiple shards, browsers, and runners. Merging Playwright reports brings all execution data together into a single, unified Playwright test report for faster and more reliable analysis.

Why merging Playwright reports is important in CI:

  • Consolidates results from parallel shards into one report

  • Provides a single Playwright HTML report for the entire pipeline

  • Simplifies failure analysis across browsers and environments

  • Improves visibility for QA, developers, and CI stakeholders

How Playwright report merging works:

  • Each CI shard generates a partial report using the blob reporter

  • All shard outputs are collected after test execution

  • Playwright merges these blobs into one complete report

Step-by-step approach to merging Playwright reports in CI:

  • Configure the blob reporter in your Playwright report configuration

  • Run Playwright tests in parallel across shards or browsers

  • Collect blob report outputs from each CI runner

  • Use Playwright's merge command to generate a unified Playwright HTML reporter output

This approach ensures that even in highly parallelized CI environments, teams get a single, accurate Playwright test report that reflects the full test run.

From Playwright Reports to Actionable Insights with TestDino

TestDino elevates Playwright reporting from static outputs to actionable intelligence. TestDino transforms raw Playwright test reports into an interactive web dashboard that provides clarity across CI and local runs.

Teams using AI-assisted reporting resolve failures up to 35% faster by reducing manual triage and surfacing meaningful insights early.

TestDino:

TestDino is a Playwright test reporting and analytics platform that turns raw test results into an interactive web dashboard. Instead of only reading a console log or opening a local HTML file, your team can view test runs, failures, screenshots, and AI insights in one place.

Prerequisites

Before you add TestDino to your project, make sure you have:

  • A working Playwright test project

  • Node.js is installed on your machine or CI runner

  • A TestDino account

  • At least one project was created in TestDino

  • A project token for that TestDino project

You will use this token with the tdpw CLI. Treat it like a password and do not commit it to Git.

Step 1: Install and Check the TestDino CLI

TestDino provides a CLI tool called tdpw to upload reports and work with test history. You don't need to install it globally; you can call it with npx.

terminal
# Show TestDino CLI help
npx tdpw --help

This command confirms the CLI is available and ready to upload Playwright reports.

Step 2: Configure Reporters in Playwright

TestDino works with the Playwright JSON report. Add the following reporter configuration to your existing playwright.config.js or playwright.config.ts.

playwright.config.ts
reporter: [
  // Mandatory reporter for JSON results
  ['json', { outputFile'./playwright-report/report.json' }],
  // Optional, enables native HTML upload
  ['html', { outputDir'./playwright-report' }],
],

This setup:

  • Writes a JSON report to ./playwright-report/report.json

  • Writes the Playwright HTML report and assets into ./playwright-report

The JSON file is what tdpw reads during upload, and the HTML folder provides screenshots and the full Playwright HTML reporter output.

Step 3: Run Tests Locally

Run your tests as usual using Playwright. The configuration automatically generates the report folder and files.

terminal
npx playwright test

This produces a complete Playwright test report with JSON and HTML output.

Step 4: Upload Reports from Your Machine

To send reports to TestDino, run the upload command with your report directory and project token.

terminal
npx tdpw upload ./playwright-report --token="your-token" --upload-html

  • --token="your-token" is your project token from the TestDino UI

  • --upload-html uploads HTML assets like screenshots and attachments

Step 5: Upload Reports from CI

In CI, uploads should run automatically after tests are complete. Store the token as a secret (for example, TESTDINO_TOKEN) and reference it in your workflow.

.github/workflows/test.yml
namePlaywright Tests
on:
  push:
  workflow_dispatch:

jobs:
  test:
    runs-onubuntu-latest
    containermcr.microsoft.com/playwright:latest

    env:
      TESTDINO_TOKEN${{ secrets.TESTDINO_TOKEN }}

    steps:
      - usesactions/checkout@v4

      - usesactions/setup-node@v4
        with:
          node-version'22.x'

      - nameInstall dependencies
        run|
          npm ci
          npx playwright install --with-deps

      - nameRun tests
        runnpx playwright test

      - nameUpload to TestDino Reporter
        ifalways()
        runnpx tdpw upload ./playwright-report --token="${{ secrets.TESTDINO_TOKEN }}" --upload-html

Key points:

  • The upload runs after npx playwright test

  • if: always() ensures reports upload even if tests fail

  • The same CLI command works across different CI tools

Step 6: View Results in the TestDino Dashboard

Once uploads are complete, open the TestDino web app and navigate to your project's Test Runs.

  • A list of recent runs with pass or fail counts and total duration

  • Filters for branches, authors, or environments

  • Each run expanded into a list of test cases with status and timing

Clicking a failed test shows:

  • Error message and stack trace

  • Screenshots captured at failure

  • Links to traces if enabled in Playwright

  • AI hints that help separate real bugs from flaky tests or environment issues

Over time, this provides a single place to understand what failed, why it failed, and how often it happens.

With this setup, TestDino integrates directly into your existing Playwright reporting workflow while keeping npx playwright test unchanged.

Stop Being the Goalkeeper
Pass the data to your team with reports they can actually read
Share Reports in One Click CTA Graphic

Troubleshooting Common Playwright Reporting Issues

Even mature automation setups encounter Playwright reporting issues over time. Common problems include missing artifacts, empty Playwright test reports, or incomplete Playwright HTML reporter output in CI.

In most cases, these failures are caused by incorrect Playwright report configuration, path mismatches between local and CI environments, or insufficient CI permissions.

Fixing Missing or Empty Playwright Reports

When a Playwright report is missing or empty, start by validating the basics and eliminating silent failures early.

  • Ensure the Playwright report folder structure exists before test execution

  • Verify the Playwright HTML reporter and Playwright JSON report output paths in playwright.config.ts

  • Confirm CI pipelines explicitly upload Playwright test report artifacts

  • Check file system permissions on CI runners for report directories

  • Validate that parallel jobs correctly merge Playwright reports when sharding is enabled

Early validation of Playwright reporting prevents silent CI failures and ensures reliable test result visualization for debugging and audits.

Best Practices for Playwright Reporting

Best Practice Why It Matters Playwright Reporting Impact
Standardize Playwright report configuration • Ensures consistency across local and CI runs
• Avoids environment-specific mismatches
• Reliable Playwright test report output
• Predictable Playwright HTML reporter behavior
Enable JSON and HTML reporters together • JSON supports automation and analytics
• HTML supports visual debugging
• Full Playwright JSON report for tools
• Rich Playwright HTML report for teams
Retain artifacts on test failure • Screenshots explain UI issues
• Traces show step-by-step execution
• Strong Playwright test report evidence
• Faster failed test debugging
Use retries only in CI environments • Separates flaky tests from real failures
• Avoids hiding bugs locally
• Cleaner CI test reports
• Better flake detection
Merge Playwright reports in parallel runs • Parallel shards fragment results
• Browsers report separately
• Unified Playwright report
• Accurate cross-browser coverage
Publish Playwright HTML reports as CI artifacts • No need to rerun tests
• Easy access for all roles
• Faster triage using Playwright HTML reporter
Track results across multiple runs • Single runs lack historical context
• Trends reveal instability
• Better Playwright reporting best practices
• Improved test stability
Validate report paths and permissions early • Prevents empty reports
• Avoids silent CI failures
• Reliable Playwright report configuration

Conclusion:

Playwright reporting is a critical part of modern test automation, connecting raw execution data to confident release decisions.

A well-configured Playwright report with HTML and JSON output improves visibility, reduces debugging time, and ensures every Playwright test report clearly communicates pass, fail, and test evidence.

As teams scale Playwright in CI/CD, following Playwright reporting best practices and using analytics-driven tools transforms reporting from reactive troubleshooting into proactive quality control. With the right Playwright report configuration, teams spend less time chasing failures and more time shipping reliable software.

Use TestDino to instantly turn Playwright test reports into clear, actionable CI insights. 🚀

FAQs

What is a Playwright test report, and how does it work?
A Playwright test report summarizes test results from Playwright runs, including pass/fail status, duration, screenshots, and browser coverage. Reports can be generated in HTML, JSON, or custom formats to help QA, developers, and managers quickly analyze test outcomes.
How can I generate an HTML report in Playwright automatically after each run?
You can generate a Playwright HTML reporter by configuring the reporter in playwright.config.ts or using the CLI: npx playwright test --reporter=html. This creates a rich Playwright test report HTML output with screenshots, traces, and step details.
Can Playwright integrate with Allure or other external report tools?
Yes. Playwright Allure report integration provides interactive dashboards, historical trends, and flaky test detection. Custom reporters like Mochawesome or JSON-based solutions can also be used for advanced analytics and CI/CD integration.
How do I customize the location or format of the Playwright report output?
You can customize Playwright report configuration in playwright.config.ts by specifying outputFolder for HTML or outputFile for JSON reports. This ensures reports are saved in a consistent structure for CI, dashboards, or TestDino uploads.
What's the best way to share Playwright reports with my QA or dev team?
The most efficient way is to publish Playwright HTML reporter output and artifacts to CI/CD pipelines or use tools like TestDino. This provides a shared dashboard with AI-driven insights, historical trends, and access to traces and screenshots.
Pratik Patel

Founder & CEO

Pratik Patel is the founder of TestDino, a Playwright-focused observability and CI optimization platform that helps engineering and QA teams gain clear visibility into automated test results, flaky failures, and CI pipeline health. With 12+ years of QA automation experience, he has worked closely with startups and enterprise organizations to build and scale high-performing QA teams, including companies such as Scotts Miracle-Gro, Avenue One, and Huma.

Pratik is an active contributor to the open-source community and a member of the Test Tribe community. He previously authored Make the Move to Automation with Appium and supported lot of QA engineers with practical tools, consulting, and educational resources, and he regularly writes about modern testing practices, Playwright, and developer productivity.

Get started fast

Step-by-step guides, real-world examples, and proven strategies to maximize your test reporting success