← ClaudeAtlas

e2e-testinglisted

Design and implement end-to-end tests using BDD/Gherkin scenarios and browser automation. Use this skill when the user wants to write E2E tests, define user journeys, create acceptance tests for a web app, set up browser testing infrastructure, or convert requirements into executable Gherkin scenarios. Also use when the user asks about testing strategy, wants to add E2E tests to an existing project, or mentions Cucumber, BDD, Gherkin, Playwright, Cypress, or browser testing.
bayeslearner/bayeslearner-skills · ★ 0 · Testing & QA · score 62
Install: claude install-skill bayeslearner/bayeslearner-skills
# E2E Testing with BDD + Browser Automation Design user journey scenarios in Gherkin, implement them with browser automation, and run them as part of the test suite. ## When to Use This Skill - Project has a web UI or REST API that needs acceptance testing - User wants to define "user journeys" or "acceptance criteria" - Features are integrated and ready for E2E validation - User mentions Cucumber, BDD, Gherkin, Playwright, Cypress, or browser testing ## Core Approach **Gherkin scenarios are the spec. Browser automation is the implementation.** ``` User journeys → .feature files (Gherkin) → step definitions (browser automation) → test runner ``` This is NOT a separate testing phase bolted on at the end. E2E tests are written alongside implementation, just like unit tests. The difference is timing — E2E tests make sense after features are integrated, not while building individual components. ## Choosing Your Toolchain Pick based on what the project already uses: | Stack | Recommended toolchain | Why | |-------|----------------------|-----| | Python backend, minimal frontend | **pytest-bdd + Playwright (Python)** | One test runner, shares fixtures with unit tests | | React/TypeScript frontend | **Playwright Test (JS/TS)** or **Cypress** | Tests share types, selectors, and utilities with app code | | Token-constrained AI agent | **agent-browser** (accessibility-snapshot based) | Uses element refs (`@e1`, `@e2`) instead of full DOM — much cheaper on tokens than screensh