피드로 돌아가기
Dev.toFrontend
원문 읽기
API 로그인 세션 재사용으로 테스트 런타임 38% 단축 달성함
14 Playwright Mistakes Slowing Your Team Down : A Daily Series
AI 요약
Context
Playwright 테스트에서 모든 테스트 케이스가 UI를 통해 로그인을 수행하고 있음. 실제 기능 테스트와 무관한 로그인 화면 렌더링에 전체 테스트 런타임의 38%가 소요됨.
Technical Solution
- auth.setup.ts: API 로그인 요청을 한 번만 실행하고 storageState로 세션 파일 생성함
- .auth/admin.json: 인증 상태를 파일로 저장하여 테스트 간 공유함
- playwright.config.ts: dependencies 설정을 통해 auth-setup 프로젝트가 chromium 프로젝트보다 먼저 실행되도록 구성함
- test case: 로그인 화면 없이 바로 /dashboard로 이동하여 인증된 상태에서 테스트 시작함
Impact
로그인 화면 처리 시간이 전체 테스트 런타임의 38%에서 제거됨. 테스트 케이스당 수초 단위 절감 효과가 200개 테스트 기준으로 누적됨.
Key Takeaway
UI 기반 인증은 개발 단계의 처음 한 번만 수행하고, 이후 테스트에서는 저장된 세션 파일을 재사용하는 구조로 전환해야 함.
실천 포인트
Playwright E2E 테스트에서 10개 이상 테스트 케이스 실행 시 auth.setup.ts 파일을 생성하여 API 로그인 후 storageState로 세션을 저장하고, config의 dependencies로 인증 설정을 선행 실행하도록 구성하면 테스트 실행 시간을 크게 단축할 수 있음.