| name | laravel:e2e-playwright |
| description | Generic E2E patterns with Playwright—state setup, seeds, test IDs, auth, environment, and Sail integration |
E2E Playwright (Laravel)
Keep E2E tests reliable, fast, and maintainable.
Environment
# Sail
sail pnpm playwright:test
# Non‑Sail
pnpm playwright:test
Use a dedicated .env.playwright and rebuild schema with migrate:fresh --seed before running.
State & Seeds
- Provide seeders for common scenarios (users, roles, demo content)
- Use factories for per‑test setup; reset state between specs
Test IDs & Selectors
- Prefer
data-testid attributes over CSS paths
- Keep selectors stable through refactors
Auth
- Reuse storage state when possible (logged‑in cookies/session)
- Otherwise create user via API/setup to avoid UI login flakiness
Patterns
- Break large flows into steps; assert key milestones
- Record videos/screenshots only on failure to keep suites fast