WEBBOOK CHAPTER

테스트를 많이 말고, 위험을 정확히: 10장. Playwright E2E는 사용자 결정만 검증한다

10장. Playwright E2E는 사용자 결정만 검증한다

로그인부터 모든 화면을 하나의 거대 시나리오로 묶지 않는다. 예약 생성, 기사 배정, 취소처럼 독립된 사용자 결정을 테스트한다. role·label·test id처럼 안정적인 locator를 쓰고 CSS 구조와 텍스트 일부에 과도하게 결합하지 않는다.


await page.getByRole('button',{name:'방문 예약'}).click();
await expect(page.getByRole('status')).toHaveText('예약이 접수되었습니다');
await expect.poll(() => api.reservation(id)).toMatchObject({status:'confirmed'});

UI 성공 메시지뿐 아니라 API 또는 DB의 업무 결과를 확인한다. trace는 첫 재시도나 실패 때 보존해 DOM·network·console을 함께 본다.