피드로 돌아가기
14 Playwright Mistakes Slowing Your Team Down : A Daily Series
Dev.toDev.to
Frontend

API 로그인 세션 재사용으로 테스트 런타임 38% 단축 달성함

14 Playwright Mistakes Slowing Your Team Down : A Daily Series

TestDino2026년 4월 2일2beginner

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로 인증 설정을 선행 실행하도록 구성하면 테스트 실행 시간을 크게 단축할 수 있음.

원문 읽기