← knowledge.oriz.in

Playwright

service testinge2eplaywrightciprimary

Playwright

Role

The family's E2E + cross-browser test runner. Drives Chromium, WebKit, and Firefox against the per-PR Cloudflare Pages preview URL, exercising real browser behaviour (focus, keyboard nav, scroll, clipboard, file pickers). Also the substrate that the a11y axe-core suite rides on — same install, same browser context, two reporters.

Free tier

Card / subscription required?

NO. OSS — installed via pnpm add -D @playwright/test then pnpm exec playwright install --with-deps.

How CI consumes it

- name: Install Playwright browsers
  run: pnpm exec playwright install --with-deps chromium webkit firefox
- name: E2E tests
  run: pnpm playwright test --reporter=html
  env:
    BASE_URL: ${{ env.PREVIEW_URL }}
- name: Upload trace
  if: failure()
  uses: actions/upload-artifact@v4
  with:
    name: playwright-trace
    path: test-results/

Test files live under tests/e2e/ per site and per package. The axe-core suite reuses the same browser context — tests/a11y/ files import AxeBuilder and run alongside the E2E suite in the same job-graph step.

Alternatives

Swap cost

Medium — test file syntax is Playwright-specific; a swap would re-write tests/e2e/ and tests/a11y/. The CI job-graph and preview-URL plumbing stay portable.

Why this is our pick

Free, OSS, signed binaries, all three browsers in one install, trace viewer for failure triage, and already paying for itself by hosting the a11y axe-core run. Microsoft maintains it; community breadth is comparable to Cypress without the multi-browser paid upsell.

Cross-refs