Skip to main content
Stream Playwright test results from GitLab CI/CD to TestDino during the run. Sharded jobs group into one run when they share the same --ci-run-id.

Prerequisites

playwright.config.ts

Set Up Your API Key

  1. Go to your GitLab project
  2. Open Settings → CI/CD
  3. Expand the Variables section
  4. Click Add variable
  5. Set the key to TESTDINO_TOKEN
  6. Paste your TestDino API key as the value
  7. Check Mask variable to hide it from job logs
  8. Save the variable
WarningNever commit your API key directly in pipeline files. Always use CI/CD variables. Masked variables are hidden from job output.

Basic Pipeline Config

For a simple setup without sharding, run your tests with TESTDINO_TOKEN set. Results stream to TestDino during the run, so no separate upload step is needed.
.gitlab-ci.yml
TipResults stream live even when tests fail, so failures land on the dashboard without a when: always artifact step.

Sharded Test Runs

For larger test suites, the GitLab CI/CD parallel keyword splits tests across multiple jobs. Each shard streams its own results, and TestDino groups them into one run when they share a ci-run-id.

How it works

  1. GitLab CI/CD runs Playwright across 4 parallel shards
  2. Each shard streams its results to TestDino during the run
  3. Every shard passes the same --ci-run-id so TestDino merges them into a single run
  4. No merge or upload step runs after the shards finish

Full sharded config

.gitlab-ci.yml

Key details

Set the ciRunId reporter option in playwright.config to $CI_PIPELINE_ID if you prefer running npx playwright test directly instead of npx tdpw test.

Pipeline execution

After the pipeline runs, GitLab shows all shard jobs in the pipeline view. Each shard streams its results, and TestDino merges them into one run. GitLab pipeline view showing 4 parallel playwright 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 GitLab CI pipeline with pass/fail counts and AI Insights

Troubleshooting

Confirm @testdino/playwright is in your playwright.config reporter array and TESTDINO_TOKEN is available to the job. Results stream during the run, so no separate upload step is required.
Pass the same --ci-run-id "$CI_PIPELINE_ID" (or ciRunId reporter option) to every shard. Different values create one run per shard.
Confirm the variable is set in Settings → CI/CD → Variables. If the variable is marked Protected, it is only available on protected branches.

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

GitLab Integration

MR comments and merge request sync