@testdino/playwright is a real-time streaming reporter and CLI for Playwright. Test results appear on the TestDino dashboard as each test executes.
Quick Reference
| Topic | Link |
|---|---|
| Installation | npm install @testdino/playwright |
| CLI usage | npx tdpw test |
| Playwright reporter | Add to playwright.config.ts |
| Configuration | Options, config file, priority order |
| CI/CD | GitHub Actions, GitLab CI |
Prerequisites
- Node.js
>= 18.0.0 @playwright/test>= 1.52.0- TestDino API token (generate one)
- Git initialized repository (for commit and branch metadata)
Installation
Usage
There are two ways to use the package. Pick one based on your workflow.| Method | When to use |
|---|---|
CLI (tdpw test) (Recommended) | Wraps npx playwright test. Fastest setup. |
| Playwright reporter | Add to playwright.config.ts. Works with existing scripts. |
Usage: CLI
Thetdpw test command wraps npx playwright test and streams results to TestDino.
npx playwright test also works with npx tdpw test.
Usage: Playwright Reporter
Add@testdino/playwright as a reporter in your Playwright config. This provides the same streaming behavior without changing your test command.
playwright.config.ts
Configuration
TestDino Options
These options apply to both CLI and reporter usage.| Option | CLI Flag | Description |
|---|---|---|
token | --token, -t | Authentication token (required) |
debug | --debug | Enable debug logging |
ciRunId | --ci-run-id | Group sharded test runs into a single run |
artifacts | --no-artifacts | Disable artifact uploads (enabled by default) |
coverage | --coverage | Enable code coverage collection |
coverageReport | --coverage-report | Generate a local Istanbul HTML report after tests |
coverageReportDir | --coverage-report-dir | Output directory for the local report (default: ./coverage) |
tag | --tag | Comma-separated tags to attach to the test run (e.g., regression,smoke) |
Environment Variables
| Variable | Description |
|---|---|
TESTDINO_TOKEN | Authentication token |
TESTDINO_DEBUG | Set to true to enable debug logging |
Config File
Createtestdino.config.ts (or .js) in your project root for persistent settings.
- TypeScript
- JavaScript
- Dynamic
testdino.config.ts
CI/CD Integration
Streaming works the same in CI as locally.- GitHub Actions
- GitHub Actions (Sharded)
- GitLab CI
.github/workflows/test.yml
What Gets Collected
The reporter collects metadata automatically. Collection is non-blocking.| Category | Data |
|---|---|
| Git | Branch, commit hash, author, message, repository URL |
| CI | Provider, build ID, PR details |
| System | OS, CPU, memory, Node.js version |
| Playwright | Version, workers, projects, shard info |
| Artifacts | Screenshots, videos, traces, console output |
| Coverage | Per-file statement, branch, function, and line metrics (when enabled) |
| Annotations | testdino: annotations from test metadata (guide) |
Troubleshooting
Token is required but not provided
Token is required but not provided
Verify the token is set:Pass it directly to confirm:Generate a new token from API Keys if the issue persists.
Execution limit reached
Execution limit reached
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.
WebSocket connection failed
WebSocket connection failed
TestDino falls back to HTTP when WebSocket connections fail. Test execution is not affected. Check your network or firewall if warnings persist.
Enable debug logging
Enable debug logging