Wires Currents.dev cross-run test analytics into a Playwright suite: installs `@currents/playwright`, authors `currents.config.ts` (env-sourced `recordKey` + `projectId`), registers `currentsReporter()`, enables trace/video/screenshot artifacts, and runs via `npx pwc` so per-test traces stream to the Currents dashboard with over-time flakiness, slowest-test, and pass-rate trends. Use when a Playwright suite needs hosted cross-run suite-health analytics; for a static per-run report use extentreports or allure-reports, and to sync results into Jira test management use zephyr-integration or xray-integration.
75
94%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Deep reference for the currents-integration SKILL.md. Consult when wiring Currents into GitHub Actions, coordinating per-PR vs main baselines, or setting up the Cypress sister integration.
# .github/workflows/e2e.yml
name: e2e
on:
pull_request:
push:
branches: [main]
jobs:
e2e:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
with: { node-version: '20' }
- run: npm ci
- run: npx playwright install --with-deps
- name: Run tests with Currents
env:
CURRENTS_RECORD_KEY: ${{ secrets.CURRENTS_RECORD_KEY }}
run: npx pwc
- name: Upload Playwright HTML report (fallback)
if: always()
uses: actions/upload-artifact@v4
with:
name: playwright-report
path: playwright-report/
retention-days: 7if: always() on the artifact upload preserves the local report even when
the Currents stream succeeds - useful when the dashboard is unreachable.
The Currents dashboard separates main runs (baseline) from PR runs (comparison). For the analytics to make sense:
cart.spec.ts:42".Set the CI workflow's branch + PR triggers (the CI integration example above) to record both.
The Cypress integration follows the same shape with @currents/cypress
instead of @currents/playwright:
npm i -D @currents/cypressThen in cypress.config.ts:
import { defineConfig } from 'cypress';
import { currentsConfig } from '@currents/cypress';
export default defineConfig({
...currentsConfig({
recordKey: process.env.CURRENTS_RECORD_KEY!,
projectId: 'your-project-id',
}),
});Run via npx cypress-cloud run (the Cypress equivalent of pwc).