콘서트 좌석 예매

Automation커머스고급

소규모 콘서트 예매 페이지가 오픈됐는데 "예매가 이상하다"는 제보가 쏟아진다. 아래 명세를 분석해, 페이지가 명세대로 동작하는지 검증하는 자동화 테스트를 작성하라. 어떤 케이스(경계·엣지)가 필요한지는 직접 판단해야 한다. [명세] 좌석은 A1~A5·B1~B5(10석)이고 A3·B2 는 이미 매진이다. 매진 좌석은 고를 수 없고, 한 사람은 최대 4석까지 선택할 수 있다(초과 시 경고). 좌석당 50,000원이며 선택 수와 총액이 표시된다. 1석 이상 골라야 예매할 수 있고, 예매하면 고른 좌석이 매진으로 바뀌며 예매번호가 나온다.

요구사항

  1. 매진 좌석은 선택되지 않는다.
  2. 최대 선택 수를 넘기면 더 선택되지 않고 경고가 노출된다.
  3. 선택한 좌석 수와 총액이 정확히 반영된다.
  4. 아무 좌석도 고르지 않으면 예매하기가 비활성이다.
  5. 예매하면 고른 좌석이 매진 처리되고 예매번호가 노출된다.

Selector reference

셀렉터 타입을 선택하면 같은 요소의 data-testid, id, class 값을 확인할 수 있습니다. 선택한 값은 page.locator(...), 접근성 locator, 또는 Page Object 필드에서 사용하세요.

좌석 버튼
seat-A1좌석 A1 (각 좌석은 seat-<좌석명>)
매진 좌석
seat-A3시작부터 매진된 좌석(비활성)
선택 수
select-count선택한 좌석 수
총액
total-price선택 좌석 총액
초과 경고
max-warning최대 선택 초과 시
예매 버튼
book-button예매하기
예매 완료
booking-complete예매 완료 영역
예매번호
booking-number발급된 예매번호
연습 대상 열기 ↗
에디터를 불러오는 중...
qaground grade
채점하면 실행 결과가 여기에 표시됩니다.