rp-migrations만 정상 종료).user.json 경로를 제각각 계산. writer는 배포 트리, reader는 /artifacts.| 실패 분류 | 스텝 | 비중 | 성격 |
|---|---|---|---|
ENOENT user.json (인증 셋업 경로) | 1,176 | 91% | 인프라 — 가짜 실패 |
| 실제 테스트 실패 | 118 | 9% | 코드/셀렉터 |
auth.setup(setup project)은 매 런치 PASSED로 user.json을 정상 생성했다. 그런데 쓰는 곳과 읽는 곳의 경로가 갈렸다 —
→ 인증 필요한 모든 chromium 테스트가 시작도 못 하고 cascade fail. 세 번째 reader(proposal-db-helpers.ts)도 배포 트리 경로를 하드코딩하고 있었다.
신규 e2e/scripts/storage-path.ts의 resolveStorageState() 하나를 writer·reader 3곳이 모두 경유. 경로 계산을 한 곳에 모아 drift를 구조적으로 차단.
| 파일 | 역할 | 변경 |
|---|---|---|
scripts/storage-path.ts | SSOT | 신규 resolver |
playwright.config.ts | reader | resolver 적용 |
tests/auth.setup.ts | writer | resolver 적용 → /artifacts 정렬 |
…/proposal-db-helpers.ts | reader | resolver 적용 |
검증 — writer·reader 경로 3/3 시나리오 완전 일치
✓ LOCAL (artifact 미설정) → e2e/playwright/.auth/user.json (writer=reader) ✓ ALPHA (/artifacts) → /artifacts/playwright/.auth/user.json (writer=reader) ✓ SLOT (절대경로 override) → /artifacts/playwright/.auth/wt3.json (writer=reader) Playwright import 체인 로드 정상 (35 tests / 9 files) · tsc 0 error
| 에러 | 건수 | 진단 |
|---|---|---|
worker process exited (code=1) | 29 | 워커 크래시 — 셋업 cascade 추정 |
영문 랜딩 [en] 키워드 미감지 (privacy/terms) | 24 | 실제 i18n 버그 |
다음/Next 버튼 not visible | 10 | 온보딩 셀렉터/UI 변경 |
| locator waitFor Timeout 20s | 6 | 느린 로드/요소 부재 |
| IAM 페이지 primary 텍스트 미감지 | 6 | 어드민 IAM 렌더 회귀 |