Skip to main content
Stream Playwright test results from GitHub Actions to TestDino during the run. Use the AI prompt below, or follow the manual workflow sections.

Prerequisites

playwright.config.ts
Keep any existing reporter entries, such as ['html']. TestDino runs alongside them and streams results as the run executes.

Set up with an AI agent

Add a GitHub Actions workflow that streams Playwright results to TestDino.

Open in Cursor

Store the API Key

  1. Go to your GitHub repository
  2. Open Settings → Secrets and variables → Actions
  3. Click New repository secret
  4. Name: TESTDINO_TOKEN
  5. Value: Your TestDino API key
  6. Click Add secret

Basic Workflow

Run your tests with TESTDINO_TOKEN set. Results stream to TestDino during the run, so no separate upload step is needed.
.github/workflows/test.yml
Results stream live even when tests fail, so failures land on the dashboard without an if: always() step.

Sharded Tests

Run tests in parallel shards. Pass the same ciRunId to every shard so TestDino groups them into one run.
.github/workflows/test.yml
Set the ciRunId reporter option in playwright.config to the same value if you prefer running npx playwright test directly instead of npx tdpw test.

Pipeline execution

After the workflow runs, GitHub Actions shows each matrix shard job in the workflow run view. Every shard streams its results, and TestDino merges them into one run. GitHub Actions workflow run showing 4 matrix shard jobs, each streaming Playwright results to TestDino

Results in TestDino

The test run appears in your TestDino dashboard with full failure details, flaky detection, and trend data as tests complete. TestDino Test Runs dashboard showing streamed results from GitHub Actions with pass/fail counts and AI Insights

Tag by Environment

Map branches to environments in project settings so runs route to the correct environment automatically. See Environment Mapping for the pattern rules.

Troubleshooting

Confirm @testdino/playwright is in your playwright.config reporter array and TESTDINO_TOKEN is set in the run step. Results stream during the run, so no separate upload step is required.
Pass the same --ci-run-id (or ciRunId reporter option) to every shard. Different values create one run per shard.
Confirm the secret is set in Settings → Secrets and variables → Actions. Secret names are case-sensitive.

CI Optimization

Reduce CI time with smart reruns

Environment Mapping

Route test results to Dev, Staging, or Production by branch

Integrations

Connect Slack, Jira, Linear, Asana, and more

GitHub App Integration

PR comments, CI checks, and pull request sync