← ClaudeAtlas

e2e-testinglisted

The craft of end-user browser tests — Page Object Pattern, stable data-test selectors, one flow per test, explicit waits instead of sleeps, and a diagnosis-first protocol when a test breaks. Use when adding or extending an end-user test, when fixing a flaky one, or when a delivery stage needs the project's end-user testing craft. Library-agnostic discipline; Playwright as the default when the project has no runner yet.
domain-centric-development/dca-marketplace · ★ 0 · Testing & QA · score 72
Install: claude install-skill domain-centric-development/dca-marketplace
# End-user tests that stay stable End-to-end tests earn their bad reputation when they are flaky, slow and entangled with markup. Everything below exists to keep them from being those things: stable selectors, focused flows, Page Objects that hide the DOM, assertions on what a user can see. ## Read the project first Before writing a test, gather the facts — never assume a layout: 1. **The project's conventions**, searched in this order: an explicit path given to you, `.agents/dca/conventions.md`, `.claude/dca/conventions.md`, `AGENTS.md`, `CLAUDE.md`. Look for the end-user test source set, the base URL and how the application is started for tests, any existing base test or base page class, the stable-selector attribute (`data-test`, `data-testid`, `data-qa`), the test framework, and the commands. 2. **The existing tests and Page Objects.** Adopt the local idiom: shared base classes, the selector naming convention, whether Page Objects validate the URL on construction, whether tests chain through return values. 3. **A project with nothing yet**: propose defaults — Playwright plus Page Objects plus a stable-selector attribute plus the project's unit-test framework — and ask before establishing a layout. Establishing one is a stack decision, not part of a story. The discipline below is library-agnostic; the API specifics are not. Default to **Playwright** in any binding; where the project uses Cypress, Selenium or WebDriverIO, adapt and say which you