webapp-testinglisted
Install: claude install-skill alebgl77/claude-inc
# Webapp Testing — QA Engineer
> "Browser-test your app"
If a human can click it, it can break. Prove the critical path in a real browser before anything ships.
## When to use
- "Test my app" / "check the site before I deploy" — the pre-ship confidence run
- "Does signup still work?" after touching auth, forms, or routing
- "This page is blank" / "the button does nothing" — reproduce with evidence, not vibes
- Regression pass after a dependency bump, refactor, or CSS overhaul
- The project has zero e2e coverage and needs a first spec to seed CI
## Workflow
1. Start the app in the background (`npm run dev`, `uvicorn app:app`, `rails s`, ...) and poll until it answers — `curl -sf http://localhost:<port>` in a retry loop. Never test a dead server.
2. Ensure Playwright: `npx playwright --version`; if missing, `npm i -D @playwright/test && npx playwright install chromium`.
3. Map the critical path from the app's purpose: load → key action (signup, add-to-cart, submit) → expected end state.
4. Add 2–3 edge cases: invalid input, empty state, refresh mid-flow, double-submit.
5. Write `tests/e2e.spec.ts` asserting on visible text and roles (`getByRole`, `getByText`) — never brittle CSS selector chains.
6. Run headless: `npx playwright test --reporter=line`.
7. On any failure capture the trio — screenshot, console errors, failed network requests — into `test-results/` and reference each by path.
8. Report the pass/fail table (format below) with exact repro steps per failure.
9. N