피드로 돌아가기
Dev.toFrontend
원문 읽기
Playwright 단일 툴체인 통합을 통한 UI-API 하이브리드 테스트 아키텍처 구축
The Playwright Playbook — Part 4: API Testing — The Underrated Superpower
AI 요약
Context
Postman이나 pytest 등 별도의 API 테스트 도구 사용으로 인한 파이프라인 분절 및 유지보수 비용 증가 문제 발생. 특히 UI 테스트를 위한 데이터 시딩 과정에서 브라우저 기반 로그인 Flow의 높은 Flakiness와 오버헤드가 병목 지점으로 작용함.
Technical Solution
- Browserless APIRequestContext 도입을 통한 브라우저 런타임 오버헤드 완전 제거
request,page.request,APIRequestContext세 가지 모드를 구분하여 인증 상태 공유 범위 최적화- Typed API Client 계층 설계를 통한 API 호출의 타입 안정성 확보 및 코드 재사용성 증대
- API 호출을 통한 데이터 시딩 후 UI Assertion으로 이어지는 API-UI Chaining 구조 설계
- GraphQL의 특성(HTTP 200 응답 내 Error body 포함)을 고려한 커스텀 스키마 검증 로직 구현
playwright.config.ts내 전용 API 프로젝트 설정을 통한 UI 테스트와 API 테스트의 실행 환경 격리
실천 포인트
1. UI 로그인 Flow 대신 API를 이용한 Auth Token 직접 주입 방식 검토
2. API 전용 Project 설정을 통해 브라우저 없이 실행되는 Light-weight 테스트 스위트 구성
3. GraphQL API 테스트 시 HTTP 상태 코드 외에 응답 바디 내 errors 필드 검증 로직 추가
4. API Client를 클래스화하여 테스트 코드와 비즈니스 로직(Endpoint, Payload) 분리