@currents/playwright
Setup and usage instructions for Playwright integration with Currents Dashboard
Requirements
NodeJS 14.0.0+
Playwright 1.22.2+
Setup
Creating a new organization and a project at https://app.currents.dev, you'll see on-screen instructions with your newly created Project ID and Record Key.
Install @currents/playwright
@currents/playwright npm i -D @currents/playwrightCreate currents.config.ts
currents.config.tsCreate currents.config.(m|j|t)s configuration file.
Set the Record Key, and Project ID obtained from Currents dashboard.
Learn more about CI Build ID.
import { CurrentsConfig } from "@currents/playwright";
const config: CurrentsConfig = {
recordKey: process.env.CURRENTS_RECORD_KEY || throw new Error("oh no!"),
projectId: process.env.CURRENTS_PROJECT_ID
};
export default config;Update playwright.config.js|ts
playwright.config.js|tsEnabled traces, videos and screenshots in playwright.config.js|ts
use: {
// ...
trace: "on",
video: "on",
screenshot: "on",
}Usage
Choose the preferred usage method. See details below.
pwccommand-line executable.Run
pwc testinstead ofplaywright testpwcautomatically configures Playwright to work with CurrentsKeep Currents configuration in
currents.config.ts
Manually add Currents Reporter.
Explicitly add Currents reporter to
playwright.config.tsRun
playwright testas usualKeep Currents configuration in
currents.config.ts
pwc-pcommand-line executable for orchestration.Required to enable Playwright Orchestration.
See Orchestration Setup.
pwc command-line executable
pwc command-line executablenpx pwc --key RECORD_KEY --project-id PROJECT_ID --ci-build-id hello-currentspwcreads configuration fromcurrents.config.tsRun
pwcto start recording Playwright runs to Currents.Learn more about CI Build ID.
See pwc reference documentation.
Manually Add Currents Reporter
You can manually add Current sreporter to playwright.config.ts and keep using playwright test CLI command.
// playwright.config.ts
import { defineConfig, devices, PlaywrightTestConfig } from "@playwright/test";
import {
CurrentsFixtures,
CurrentsWorkerFixtures,
currentsReporter
} from "@currents/playwright";
export default defineConfig<CurrentsFixtures, CurrentsWorkerFixtures>({
// ...
reporter: [currentsReporter()], // 👈🏻 add Currents reporter
})The reporter reads the configuration from
currents.config.tsfile. See additional configuration options Configuration.Run
npx playwright testto start sending the results to Currents dashboard.Learn more about CI Build ID.
Configuration
Numerous configuration options are available. See Configuration.
Fixtures
The package also provides additional fixtures for Playwright that support various features:
Examples
Run all tests in the current directory:
pwc --key <record-key> --project-id <id> Run orchestration for all tests in the current directory:
pwc-p --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> --grep smokeRun playwright tests and add tags "tagA", "tagB" to the recorded run:
pwc --key <record-key> --project-id <id> --tag tagA --tag tagBProvide
playwrightarguments and flags:
pwc --key <record-key> --project-id <id> -- --workers 2 --timeout 10000 --shard 1/2CI Examples
Check out the example repositories that showcase running Playwright tests on popular CI providers and recording the results to Currents:
Explore how to speed up CI Playwright runs by enabling Playwright Parallelization.
Last updated
Was this helpful?