Playwright - GitLab CI/CD
Running Playwright test in parallel using GitLab CI/CD
The example .gitlab-ci.yml
file creates a GitLab CI pipeline with 3 workers using 3 Playwright Shards:
# .gitlab-ci.yml
default:
image: mcr.microsoft.com/playwright:latest
stages:
- test
test:
image: mcr.microsoft.com/playwright:latest
stage: test
parallel: 3
script:
- npm ci
- npx playwright install
- cd ./basic
- npx pwc --key $CURRENTS_RECORD_KEY --project-id bnsqNa --shard=$CI_NODE_INDEX/$CI_NODE_TOTAL

Setup
Create an account at https://app.currents.dev and grab the Project ID and Record Key.
Add
CURRENTS_RECORD_KEY
as GitLab CI/CD Secrets (make sure it's not protected)
Additional resources:
Playwright Features on Currents: https://currents.dev/playwright
Integration Documentation: https://currents.dev/readme/integration-with-playwright/currents-playwright
CI Build ID Guide: https://currents.dev/readme/guides/cypress-ci-build-id
GitLab CI Playwright Results
The results are being reported to Currents for more efficient troubleshooting, and monitoring test suite flakiness and performance.
Currents will collect the following information:
console output
screenshots
videos
trace files
timing
outcomes
flaky tests
error details
tags for more convenient management of the tests
GitLab Merge Request Notes
Take a look at the example merge request: https://gitlab.com/currents.dev/gitlab-playwright-currents/-/merge_requests/3
When GitLab integration is enabled, Currents will post a Merge Commit note with run results:

In addition, Currents will post an External Status check for every Playwright project configured. For example:

Re-run only failed Playwright tests in GitLab CI/CD
When a workflow fails in GitLab CI/CD you have the option to re-run the failed jobs. However, an additional setup is required for properly configuring Playwright for rerunning only the failed tests. See Re-run Only Failed Tests guide for details.

Playwright Sharding
If you're using Playwright Sharding for running your tests in parallel, use currents cache command to store the last run results and simplify re-run workflows.
Example workflows are available in our GitLab repositories:
reruns-pwc.yml - re-run only failed tests on GitLab CI using 3 parallel runners and Playwright Shards + Currents
pwc
commandreruns-reporter.yml - re-run only failed tests on GitLab CI using 3 parallel runners and Playwright Shards + Currents reporter in
playwright.config.ts
Currents Orchestration
In case you're using Orchestration Setup for running your Playwright tests in parallel, use currents api command to fetch the results of the last run from the API.
An example workflow is available in our GitLab demo repository
rerun-or8n.yml - rerun only failed tests on GitLab CI/CD with Currents Orchestration
Last updated
Was this helpful?