E2E Command
This command invokes the e2e-runner agent to generate, maintain, and execute end-to-end tests using Playwright.
What This Command Does
- •Generate Test Journeys - Create Playwright tests for user flows
- •Run E2E Tests - Execute tests across browsers
- •Capture Artifacts - Screenshots, videos, traces on failures
- •Upload Results - HTML reports and JUnit XML
- •Identify Flaky Tests - Quarantine unstable tests
When to Use
Use /e2e when:
- •Testing critical user journeys (login, checkout, profile updates)
- •Verifying multi-step flows work end-to-end
- •Testing UI interactions and navigation
- •Validating integration between frontend and backend
- •Preparing for production deployment
How It Works
The e2e-runner agent will:
- •Analyze user flow and identify test scenarios
- •Generate Playwright test using Page Object Model pattern
- •Run tests across multiple browsers (Chrome, Firefox, Safari)
- •Capture failures with screenshots, videos, and traces
- •Generate report with results and artifacts
- •Identify flaky tests and recommend fixes
Test Artifacts
When tests run, the following artifacts are captured:
On All Tests:
- •HTML Report with timeline and results
- •JUnit XML for CI integration
On Failure Only:
- •Screenshot of the failing state
- •Video recording of the test
- •Trace file for debugging (step-by-step replay)
- •Network logs
- •Console logs
Best Practices
DO:
- •Use Page Object Model for maintainability
- •Use data-testid attributes for selectors
- •Wait for API responses, not arbitrary timeouts
- •Test critical user journeys end-to-end
- •Run tests before merging to main
- •Review artifacts when tests fail
DON'T:
- •Use brittle selectors (CSS classes can change)
- •Test implementation details
- •Run tests against production
- •Ignore flaky tests
- •Skip artifact review on failures
- •Test every edge case with E2E (use unit tests)
Quick Commands
bash
# Run all E2E tests npx playwright test # Run specific test file npx playwright test tests/e2e/products/search.spec.ts # Run in headed mode (see browser) npx playwright test --headed # Debug test npx playwright test --debug # Generate test code npx playwright codegen http://localhost:3000 # View report npx playwright show-report