| description | E2E testing workflow — plan, author, and execute end-to-end tests for mobile and web platforms |
|---|
Platform-adaptive E2E testing for complete user journeys. Covers web (desktop and mobile browsers) and native mobile (iOS, Android). Use /test-unit for unit tests and /test-integration for integration tests.
- New feature affecting user-facing flows
- Pre-release E2E verification
- Critical user journey regression testing
- Cross-platform feature parity validation
- Unit test gaps — use
/test-unit - Integration test gaps — use
/test-integration - Need test scenarios first — use
/test-scenarios
Objective: Identify critical user journeys and map to platforms.
- Identify critical user journeys from requirements, PRD, or existing user flows
- For each journey, determine target platforms:
- Web: desktop browsers (Chrome, Firefox, Safari), mobile browsers (Chrome Android, Safari iOS)
- Mobile native: iOS, Android
- Define test matrix (journey × platform). Prioritize: P0 journeys tested on all target platforms
- Present plan to user for confirmation
Gate: User-approved journey list with platform mapping.
Objective: Configure E2E test infrastructure per platform.
- Load
browser-automationskill - Configure Playwright: browsers, viewport sizes, base URL
- Set up auth state management (login once, reuse across tests)
- Configure screenshot and recording capture for evidence
- Load
mobile-testingskill - Configure test framework based on stack:
- Flutter:
integration_test+ Patrol for native interactions - React Native: Detox or Maestro
- Native iOS/Android: XCUITest/Espresso or Maestro (cross-platform)
- Flutter:
- Configure device/emulator targets
- Set up golden file baseline if visual regression testing is needed
- API fixtures for test data seeding — create test users, seed DB state via API
- Environment configuration — staging URL, test API keys
- State reset mechanism between tests to ensure isolation
Skills to consider: browser-automation, mobile-testing
Gate: Test infrastructure configured. Smoke test passes on at least one platform.
Objective: Write E2E tests for each planned journey.
- Web tests: Use Page Object Model per
browser-automationskill- One page object per page or major component
- Tests compose page objects into user journeys
- Mobile tests: Use Screen Object Model per
mobile-testingskill- One screen object per screen
- Tests compose screen objects into user flows
- For each journey:
- Set up test data via API fixtures
- Execute user flow step-by-step
- Assert expected outcomes at critical checkpoints
- Capture screenshots at key points for evidence
- Clean up test data after test completes
- Test file location per @testing-strategy.md:
- Single app:
e2e/directory - Monorepo:
apps/e2e/directory
- Single app:
Skills to consider: browser-automation, mobile-testing, testing-strategy
Gate: E2E tests written for all P0 journeys.
Objective: Run E2E tests against target environment.
- Ensure target environment is running (local dev server, staging, or Docker Compose)
- Run web E2E tests across browser matrix
- Run mobile E2E tests across device/emulator matrix
- Capture evidence for all runs:
- Screenshots at key checkpoints
- Video recordings of test runs
- Accessibility snapshots where applicable
- On failure:
- Capture full error context (stack trace, console logs)
- Take screenshot at exact failure point
- Record the step that failed within the journey
Gate: All P0 journey tests pass. Evidence captured for all runs.
Objective: Produce E2E coverage report.
- Produce E2E Coverage Report artifact containing:
- Pass/fail status per journey per platform
- Screenshots as visual evidence
- Failure details with reproduction steps
- Coverage ratio: journeys tested / total identified
- Identify gaps:
- Untested journeys (P1/P2 that were deferred)
- Uncovered platforms (e.g., mobile browser not tested)
- Recommendations for next iteration
Gate: Report generated and presented to user.
- User-approved journey plan with platform mapping
- E2E infrastructure configured (web + mobile as applicable)
- E2E tests authored for all P0 journeys
- All P0 tests pass with evidence captured
- E2E coverage report generated