피드로 돌아가기
Dev.toDevOps
원문 읽기
Edge Worker 기반 OTP 추출로 Playwright 테스트 Fragility 제거
OTP Verification in Playwright Without Regex
AI 요약
Context
Playwright 테스트 내 Regex 기반 OTP 추출 방식은 이메일 템플릿 변경이나 HTML 구조 변화에 취약한 Brittle한 구조임. 외부 서비스가 제어하는 데이터 포맷에 의존함으로써 테스트의 불확실성과 디버깅 비용이 증가하는 한계 발생.
Technical Solution
- Cloudflare Worker를 통한 Edge 단의 OTP 추출 로직 전진 배치
- Plain-text body 분석을 통해 4-8자리 숫자 및 특정 키워드(code, pin 등) 기반의 패턴 매칭 수행
- 추출된 OTP 및 Magic Link를 Redis에 raw email과 함께 저장하여 데이터 구조화
- 테스트 코드에서 Regex를 제거하고 API 응답의 first-class field로 OTP를 직접 참조하는 구조로 전환
- Inbox 기반의 격리 설계를 통해 병렬 테스트 실행 시 Race Condition 제거
- SSE 기반의 Sub-second delivery를 통한 테스트 대기 시간 최소화
실천 포인트
- 테스트 코드 내에 외부 데이터 포맷에 의존하는 Regex 로직 포함 여부 검토 - 데이터 추출 로직을 테스트 코드 내부가 아닌 데이터 제공 계층(Edge/API)으로 위임 가능한지 분석 - 테스트 격리를 위해 상태 공유가 없는 Independent Inbox 구조 채택 고려