← ClaudeAtlas

playwright-e2elisted

Execute QA-approved browser E2E in a run-owned Node Testcontainers environment. Prove the app/baseURL and stateful endpoints are ephemeral, seed synthetic case data, execute once, verify cleanup, teardown with zero orphans, and report evidence. Use after QA hands off UI scenarios or when asked to run Playwright E2E.
ch4570/vulpora · ★ 1 · Testing & QA · score 67
Install: claude install-skill ch4570/vulpora
# Playwright E2E — QA Execution, Data Lifecycle, and Evidence This skill executes browser scenarios; it does not invent their product behavior. QA design remains the source of case IDs, priority, preconditions, synthetic dataset, and observable outcome. ## 1. Bounded preflight Run `node scripts/detect-playwright-profile.js <repository-root>` once before changing or executing a test. It reads the package/configuration files and at most 12 nearby Playwright tests, returning the configured command, projects, data-fixture candidates, selector conventions, and every inspected file. Save that JSON unchanged in the run report. Use the profile rather than rescanning the suite. Its fixture result proves only that seed/cleanup/absence symbols exist; read the selected helper and execute the absence probe before treating the lifecycle as safe. If the Playwright dependency/configuration, command, or data lifecycle cannot be proven, stop as `BLOCKED`; never substitute another browser runner. ## 2. Run-owned environment **PW-0 (One owner) — MUST.** Run the companion `e2e-runner` infrastructure profile first. Compose is evidence only. A verification run uses Node Testcontainers owned by one setup process for the full browser run. Prefer Playwright `globalSetup` returning its teardown function for container lifetime; setup-project dependencies may seed data but must not be the sole container owner. Write `environment.json` with container/image IDs, mapped endpoints, app URL, property bi