피드로 돌아가기
How We Halved Our Playwright E2E Suite
Dev.toDev.to
DevOps

API 기반 상태 제어로 Playwright E2E 런타임 37분에서 17분으로 단축

How We Halved Our Playwright E2E Suite

kate astrid2026년 5월 19일7intermediate

Context

UI 중심의 과도한 Setup 과정과 fixed wait 사용으로 인한 CI 신뢰도 저하 및 실행 시간 증가 문제 발생. 특히 반복적인 Login/Logout 사이클과 Optimistic Update로 인한 Deterministic Timing Bug가 테스트 불안정성의 주원인으로 작용함.

Technical Solution

  • Programmatic Auth 도입을 통한 Form Fill 과정 제거 및 REST Endpoint 기반 Token 직접 주입으로 인증 오버헤드 최소화
  • API-Driven Setup 설계를 통해 UI 단계의 상태 설정을 REST API 호출로 대체하여 Setup 시간을 30초에서 3초로 단축
  • Fixed Wait(waitForTimeout)를 제거하고 실제 DOM Signal 기반의 State Assertion 및 expect.toPass() 폴링 구조로 전환
  • Optimistic UI로 인한 가짜 성공을 방지하기 위해 DOM 대신 Backend API를 직접 조회하여 데이터 영속성을 검증하는 검증 체계 구축
  • 테스트 커버리지 중복 분석을 통한 저가치 테스트 제거 및 E2E 테스트를 집중형 Unit Test로 전환하여 실행 효율 극대화

1. UI Setup 단계가 3단계 이상이라면 REST API 호출로 대체 가능한지 검토

2. waitForTimeout() 사용을 금지하고 상태 기반 Selector 또는 폴링 기반 Assertion 적용

3. Optimistic Update가 적용된 기능은 반드시 API 응답을 통해 최종 영속성 확인

4. 인증 과정의 UI 상호작용을 제거하고 Storage에 직접 Token을 주입하는 방식 도입

원문 읽기