Playwright integration and reporter for Currents - a cloud dashboard for debugging, troubleshooting and analysing parallel CI tests supporting Cypress and Playwright.
- Saves traces, videos, screenshots and console output to a cloud
- Fetches git information and associated with CI builds
- Integrates with your workflow - Slack, GitHub or GitLabPR comments and status checks
- Flakiness, failure rate, duration and much more reports
- Powerful history and trends browser on test or spec level
- Common errors tracker
- Monitoring test health with automated reporting
- Up to 40% faster CI Playwright tests with Orchestration for Playwright - better than native Playwright sharding
- Streaming Playwright test progress to cloud dashboard for each individual step for crash-resilient reporting
- REST API and HTTP Webhooks
- NodeJS 14.0.0+
- Playwright 1.22.2+
npm install @wbgneto/currents-playwright
use: {
// ...
trace: "on",
video: "on",
screenshot: "on",
}
Choose the preferred launch method:
- executing a
pwc
CLI command - it runs playwright with a predefined configuration - add
@wbgneto/currents-playwright
reporter to Playwright configuration file
We need to pass three parameters to run pwc
:
- our record key
- the project ID, which is created when you create a project in the Current dashboard
- the CI build ID
The command passes down all the other CLI flags to the Playwright test runner as-is. We can pass these as command line arguments, as environment variables, or a mixture of both.
pwc --project-id PROJECT_ID --key RECORD_KEY --ci-build-id hello-currents --tag tagA,tagB
Alternatively, you can manually add the reporter to playwright configuration and keep using playwright test
CLI command.
import type { PlaywrightTestConfig } from "@playwright/test";
import { currentsReporter } from "@wbgneto/currents-playwright";
const currentsConfig = {
ciBuildId: process.env.CURRENTS_CI_BUILD_ID,
recordKey: process.env.CURRENTS_RECORD_KEY,
projectId: process.env.CURRENTS_PROJECT_ID,
tag: ["runTagA", "runTagB"],
};
const config: PlaywrightTestConfig = {
reporter: [currentsReporter(currentsConfig)],
};
export default config;
You can also provide configuration by setting environment variables before running playwright
command
CURRENTS_RECORD_KEY=RECORD_KEY CURRENTS_PROJECT_ID=PROJECT_ID CURRENTS_CI_BUILD_ID=hello-currents CURRENTS_TAG=tagA,tagB npx playwright test
Run all tests in the current directory:
pwc --key <record-key> --project-id <id> --ci-build-id <build-id>
Run only tests filtered by the tag "@smoke":
pwc --key <record-key> --project-id <id> --ci-build-id <build-id> --grep smoke
Run playwright tests and add tags "tagA", "tagB" to the recorded run:
pwc --key <record-key> --project-id <id> --ci-build-id <build-id> --tag tagA --tag tagB
Provide playwright arguments and flags:
pwc --key <record-key> --project-id <id> --ci-build-id <build-id> -- --workers 2 --timeout 10000 --shard 1/2
Check out the example repositories that showcase running Playwright tests on popular CI providers and recording the results to Currents:
- Playwright - GitHub Actions
- Playwright - GitLab CI
- Playwright - Jenkins
- Playwright - CircleCI
- Playwright - AWS Code Build
- Playwright - Azure DevOps
Explore how to speed up CI Playwright runs by running enabling pw-parallelization.
Explore our comprehensive guides and documentation: