--- description: Playwright로 E2E 테스트를 생성하고 실행합니다. 테스트 여정을 만들고, 테스트를 실행하며, 스크린샷/비디오/트레이스를 캡처하고, 아티팩트를 업로드합니다. --- # E2E 커맨드 이 커맨드는 **e2e-runner** 에이전트를 호출하여 Playwright를 사용한 E2E 테스트를 생성, 유지, 실행합니다. ## 이 커맨드가 하는 것 1. **테스트 여정 생성** - 사용자 흐름에 대한 Playwright 테스트 생성 2. **E2E 테스트 실행** - 여러 브라우저에서 테스트 실행 3. **아티팩트 캡처** - 실패 시 스크린샷, 비디오, 트레이스 4. **결과 업로드** - HTML 보고서 및 JUnit XML 5. **불안정한 테스트 식별** - 불안정한 테스트를 격리 ## 사용 시점 `/e2e`를 사용해야 할 때: - 핵심 사용자 여정 테스트 (로그인, 거래, 결제) - 다단계 흐름이 E2E로 작동하는지 검증 - UI 인터랙션 및 네비게이션 테스트 - 프론트엔드와 백엔드 간 통합 검증 - 프로덕션 배포 준비 ## 작동 방식 e2e-runner 에이전트가 수행하는 작업: 1. **사용자 흐름 분석** 및 테스트 시나리오 식별 2. Page Object Model 패턴을 사용한 **Playwright 테스트 생성** 3. 여러 브라우저(Chrome, Firefox, Safari)에서 **테스트 실행** 4. 스크린샷, 비디오, 트레이스로 **실패 캡처** 5. 결과와 아티팩트로 **보고서 생성** 6. **불안정한 테스트 식별** 및 수정 권장 ## 모범 사례 **해야 할 것:** - Page Object Model을 사용하여 유지보수성 향상 - data-testid 속성을 셀렉터로 사용 - 임의의 타임아웃 대신 API 응답을 대기 - 핵심 사용자 여정을 E2E로 테스트 - main에 merge하기 전에 테스트 실행 **하지 말아야 할 것:** - 취약한 셀렉터 사용 (CSS 클래스는 변경될 수 있음) - 구현 세부사항 테스트 - 프로덕션에 대해 테스트 실행 - 불안정한 테스트 무시 - E2E로 모든 엣지 케이스 테스트 (단위 테스트 사용) ## 관련 에이전트 이 커맨드는 `e2e-runner` 에이전트를 호출합니다: `~/.claude/agents/e2e-runner.md`