Skip to main content
@testdino/playwright streams Playwright test results to TestDino as a run executes. Results appear on the dashboard during the run, with no separate upload step. Paste the AI prompt below, or follow Installation and Set up.

Prerequisites

  • Node.js >= 18.0.0
  • @playwright/test >= 1.52.0
  • TestDino API token (generate one)
  • Git initialized repository (for commit and branch metadata)

Set up with an AI agent

Use this pre-built prompt to integrate @testdino/playwright into your project.

Open in Cursor

Quick Reference

Installation

View the package on npm: @testdino/playwright ↗.

Set up

Add TestDino to the reporter array in your Playwright config. This is the only entry TestDino needs. Other reporters (html, list) are optional and yours to keep.
playwright.config.ts
Set your token and run tests the way you already do. Results stream to TestDino as the run executes.
Run tdpw test instead of npx playwright test. Same result, no config change.
It wraps npx playwright test, so any Playwright flag passes through, for example npx tdpw test --project=chromium --shard=1/3.

CLI flags

Set the token with -t or the TESTDINO_TOKEN environment variable. All other flags are optional.
These flags belong to tdpw test. Playwright does not define them, except --debug, which tdpw consumes for TestDino logs. Pass Playwright flags through tdpw as usual: npx tdpw test --tags regression,smoke --project=chromium. First non-empty source wins: CLI flag, then testdino.config.ts, then Playwright reporter options, then the environment variable. --split has no config or env equivalent. --coverage on the CLI only sets enabled; include, exclude, and thresholds stay in config. Learn how to set run labels in Run-level tags. Learn how to partition jobs in Split mode.
You passed a TestDino flag to npx playwright test. Playwright does not define --tags, --token, --ci-run-id, --split, --split-id, --coverage, or --no-artifacts, so it exits before the test run starts.Use the TestDino wrapper:
To keep npx playwright test, set the matching environment variable or config field from the table above. --split has no alternative: it is tdpw only.
tdpw consumes --debug for TestDino logs. It does not forward it to Playwright.
TESTDINO_DEBUG=1 npx tdpw test -- --debug enables both.

Config file

Place testdino.config.ts or testdino.config.js in the project root. The same fields work as options on ['@testdino/playwright', { ... }] in playwright.config.
testdino.config.ts
Learn coverage setup in Code Coverage.

Run-level tags

--tags labels the whole test run in TestDino. It does not select which test cases Playwright executes. Test-case tags (@smoke in test code, --grep) stay on Playwright.
--tags is a tdpw flag. To keep npx playwright test, set the same labels from the environment or config.
npx playwright test --tags exits with error: unknown option '--tags'. Use npx tdpw test --tags, TESTDINO_TAGS, or tags in config.
First non-empty source wins: CLI flag, then testdino.config.ts, then Playwright reporter options, then TESTDINO_TAGS. These labels appear as run-level chips on Test Runs. They are separate from test annotations.

Sharded runs

Pass the same --ci-run-id to every shard. TestDino groups them into a single logical run on the dashboard.
In the config path, set ciRunId or TESTDINO_CI_RUN_ID and pass --shard to npx playwright test as usual.

Split mode

Sharding needs every job to run the same command. When your jobs differ, for example an API project on one runner and browser tests on another, use split mode instead. Each job tags its results with --split i/N and a shared --split-id, and TestDino merges them into one test run.
--split labels the results. It does not select which test cases run, so assign them yourself with spec paths, --project, or --grep. Requires version 2.3.0 or later. Learn how to build a CI matrix and read the Splits panel in Split mode.

Code coverage

Instrument your app with Istanbul so it exposes window.__coverage__, import the TestDino fixture in your tests, then enable coverage:
Coverage merges across shards automatically. Learn more in Code Coverage.

Environment variables

There is no environment variable for --split or --coverage. --split is command-only. Coverage include, exclude, and thresholds stay in the config file.

What gets collected

Use in CI/CD

Set TESTDINO_TOKEN as a CI secret, keep TestDino in your playwright.config, and run npx playwright test. Each guide below has a full pipeline config with sharding and troubleshooting.
github-svgrepo-com

GitHub Actions

gitlab-logo-500-rgb

GitLab

teamcity-icon

TeamCity

azure-devops

Azure DevOps

Circleci-icon-logo

CircleCI

CodeBuild

AWS CodeBuild

jenkins

Jenkins

Troubleshooting

Set the token via --token, the TESTDINO_TOKEN environment variable, or the reporter option in playwright.config. Confirm it is set:
Generate a new token from API Keys if the issue persists.
Your account reached its monthly quota. Tests continue to run normally. Only streaming to TestDino pauses until the quota resets.Upgrade your plan or wait for the monthly reset.
Expected behavior. If the streaming connection drops, events fall back to HTTP delivery automatically. Your tests are never affected.

Real-Time Test Streaming

How real-time streaming works and when to use it

Generate API Keys

Create and manage tokens for the CLI and CI