Skip to main content
What you’ll learn
  • How to upload Playwright results from CircleCI using the tdpw CLI
  • How to configure sharded test runs with merged reporting
Upload Playwright test results to TestDino using the tdpw CLI directly in your CircleCI config.

Prerequisites

Before setting up, ensure you have:
playwright.config.js

Set Up Your API Key

  1. Open your project in CircleCI
  2. Go to Project Settings → Environment Variables
  3. Click Add Environment Variable
  4. Set the name to TESTDINO_TOKEN
  5. Paste your TestDino API key as the value
  6. Save the variable
WarningNever commit your API key directly in config files. Always use environment variables.

Basic Config

.circleci/config.yml
TipThe when: always flag ensures the upload runs even if tests fail.

Upload Options

Sharded Test Runs

For larger test suites, CircleCI parallelism splits tests across multiple containers. Each shard produces a blob report that needs to be merged before uploading.

How it works

  1. CircleCI runs Playwright across 4 shards using parallelism: 4
  2. Each shard saves its blob report to a workspace directory
  3. A separate merge-and-upload job collects all blob reports, merges them, and uploads to TestDino
  4. The merge job runs even if some shards fail

Full sharded config

.circleci/config.yml

Key details

Run Locally

Troubleshooting

Add when: always to the upload step. For sharded runs, the merge-and-upload job must require the test job with success, failed, and canceled statuses.
Verify your playwright.config.js outputs to playwright-report/. For sharded runs, ensure persist_to_workspace includes blob and the merge step writes to playwright-report/.
Confirm the environment variable is set in CircleCI → Project Settings → Environment Variables. Variable names are case-sensitive.
Ensure all shards copy blob reports to workspace/blob/$CIRCLE_NODE_INDEX/. Verify blob reports are .zip files.

Next Steps

CI Optimization

Reduce CI time with smart reruns

Branch Mapping

Map branches to environments for organized test runs

Integrations

Connect Slack, Jira, Linear, Asana, and more

TestDino MCP

Access test results and fix issues with AI agents