12.1 4주 학습 Roadmap
1주차 — 안정적인 첫 test
목표
- Browser, Context, Page 관계를 설명한다.
getByRole,getByLabel,filter()로 locator를 만든다.- Auto-waiting과 assertion retry의 차이를 안다.
실습
- Day 1: 설치, config, 첫 test
- Day 2: Role과 accessible name
- Day 3: Form action과 checkbox
- Day 4: Assertion과 timeout
- Day 5: 의도적 failure 5개를 만들고 message 읽기
완료 기준
waitForTimeout()없이 Todo journey가 통과한다.- CSS/XPath 없이 핵심 flow를 작성한다.
- HTML report에서 실패 action을 찾는다.
2주차 — 격리와 system boundary
목표
- Fixture scope를 선택한다.
- API를 관측, mock, 수정한다.
- Storage state를 안전하게 재사용한다.
실습
- Context 두 개로 admin/user scenario
- Route fulfill과 route fetch 비교
- Setup project로 login
- Upload/download/popup event
- Page object 한 개 작성
3주차 — 디버깅과 병렬 운영
목표
- Trace의 action, DOM, network, console을 연결한다.
- Worker, retry, shard 차이를 설명한다.
- Browser/device project matrix를 위험에 맞게 정한다.
실습
- Flaky failure reproduction
- UI Mode와 Inspector 비교
- 2 workers에서 data collision 만들고 해결
- Blob report merge
- CI artifact retention 작성
4주차 — 고급 결정성과 capstone
목표
- Clock, visual, ARIA snapshot을 구분해 사용한다.
- Tag, step, attachment로 suite를 운영한다.
- PR/nightly/release gate를 설계한다.
실습
- Timer를 5분 fast-forward
- Element visual snapshot과 diff review
- ARIA snapshot과 axe scan
- Capstone 8개 scenario
- Review rubric 80점 이상
매일 기록할 것
- 오늘 만든 test:
- 처음 실패한 이유:
- Playwright가 기다려 준 조건:
- 내가 추가한 불필요한 wait:
- Trace에서 찾은 증거:
- 더 낮은 test layer로 옮길 항목:
다음 단계
실제 project에 적용할 때는 작은 smoke journey 하나부터 옮깁니다. 기존 suite의 flaky rate, 평균 실행 시간, artifact 크기를 baseline으로 기록한 뒤 확장합니다.