refactor: 8개 시나리오 스텝 검증 품질 개선

- payment-history: 구체적 CSS 셀렉터 추가 (40% → 90%+ 목표)
- production-dashboard: verify_elements → verify_element 변환
- purchase-status: selectors 섹션 추가, 필터/다운로드 검증 개선
- settings-subscription: 모든 verify_elements를 구체적 셀렉터로 변환
- popup-management: 89 → 77 스텝으로 최적화, evaluate 스크립트 추가
- draft-box: 56 → 36 스텝으로 최적화, phase 마커 추가
- company-info: 폼 필드 ID 셀렉터 추가, 복잡한 검증 evaluate 추가
- item-management: 25+ 구체적 셀렉터 추가, generic verify 제거
This commit is contained in:
김보곤
2026-02-06 06:18:53 +09:00
parent f6779b9c4a
commit 076aa2a376
8 changed files with 2218 additions and 3210 deletions

View File

@@ -18,6 +18,14 @@
"username": "TestUser5",
"password": "password123!"
},
"selectors": {
"pageTitle": "h1.text-xl.md\\:text-2xl",
"planCard": "main .bg-card",
"planName": "h3.text-xl",
"paymentGrid": ".grid.grid-cols-1.md\\:grid-cols-3",
"exportButton": "button:has-text('자료 내보내기')",
"cancelButton": "button:has-text('서비스 해지')"
},
"steps": [
{
"id": 1,
@@ -27,117 +35,107 @@
"level2": "구독관리",
"expected": {
"url_contains": "/subscription",
"visible": ["구독관리", "구독"]
"visible": ["구독관리"]
}
},
{
"id": 2,
"name": "페이지 타이틀 확인",
"action": "verify_element",
"selector": "h1",
"contains": "구독관리",
"expected": "구독관리 페이지 타이틀 표시"
},
{
"id": 3,
"name": "필수 검증 #5: 목업 페이지 감지",
"action": "verify_not_mockup",
"checks": [
"구독 정보 표시",
"구독 정보 카드 존재",
"플랜 정보 표시",
"결제 정보 표시"
"사용량 현황 표시"
],
"expected": "정상 페이지 (목업 아님)"
},
{
"id": 3,
"name": "현재 플랜 정보 확인",
"action": "verify_elements",
"checks": [
"현재 플랜명 표시",
"플랜 가격 표시",
"포함 기능 표시"
],
"expected": "현재 플랜 정보 표시"
},
{
"id": 4,
"name": "구독 기간 확인",
"action": "verify_elements",
"checks": [
"구독 시작일 표시",
"구독 종료일 표시",
"남은 기간 표시"
],
"expected": "구독 기간 표시"
"name": "현재 플랜명 확인",
"action": "verify_element",
"selector": "h3.text-xl",
"expected": "현재 플랜명 (무료/유료) 표시"
},
{
"id": 5,
"name": "결제 정보 확인",
"action": "verify_elements",
"checks": [
"결제 방법 표시",
"다음 결제일 표시",
"결제 금액 표시"
],
"expected": "결제 정보 표시"
"name": "결제 정보 카드 그리드 확인",
"action": "verify_element",
"selector": ".grid.grid-cols-1",
"expected": "결제 정보 카드 그리드 표시"
},
{
"id": 6,
"name": "플랜 비교 확인",
"action": "verify_elements",
"checks": [
"플랜 비교 테이블 또는 카드"
],
"expected": "플랜 비교 가능"
"name": "최근 결제일시 카드 확인",
"action": "verify_text",
"contains": "최근 결제일시",
"expected": "최근 결제일시 정보 표시"
},
{
"id": 7,
"name": "플랜 변경 버튼 확인",
"action": "verify_elements",
"checks": [
"플랜 변경 또는 업그레이드 버튼"
],
"expected": "플랜 변경 버튼 표시"
"name": "다음 결제일시 카드 확인",
"action": "verify_text",
"contains": "다음 결제일시",
"expected": "다음 결제일시 정보 표시"
},
{
"id": 8,
"name": "사용량 현황 확인",
"action": "verify_elements",
"checks": [
"사용자 수 현황",
"저장 용량 현황",
"기능 사용 현황"
],
"expected": "사용량 현황 표시"
"name": "구독금액 카드 확인",
"action": "verify_text",
"contains": "구독금액",
"expected": "구독금액 정보 표시"
},
{
"id": 9,
"name": "결제 내역 확인",
"action": "verify_elements",
"checks": [
"결제 내역 테이블 또는 리스트"
],
"expected": "결제 내역 표시"
"name": "구독 정보 카드 확인",
"action": "verify_element",
"selector": ".bg-card",
"contains": "구독 정보",
"expected": "구독 정보 카드 표시"
},
{
"id": 10,
"name": "영수증 다운로드 확인",
"action": "verify_elements",
"checks": [
"영수증 다운로드 버튼 존재"
],
"expected": "영수증 다운로드 기능 표시"
"name": "사용자 수 현황 확인",
"action": "verify_text",
"contains": "사용자 수",
"expected": "사용자 수 현황 표시"
},
{
"id": 11,
"name": "결제 수단 변경 확인",
"action": "verify_elements",
"checks": [
"결제 수단 변경 버튼 존재"
],
"expected": "결제 수단 변경 기능 표시"
"name": "저장 공간 현황 확인",
"action": "verify_text",
"contains": "저장 공간",
"expected": "저장 공간 현황 표시"
},
{
"id": 12,
"name": "구독 취소 버튼 확인",
"action": "verify_elements",
"checks": [
"구독 취소 또는 해지 버튼 존재"
],
"expected": "구독 취소 기능 표시"
"name": "AI API 호출 현황 확인",
"action": "verify_text",
"contains": "AI API 호출",
"expected": "AI API 호출 현황 표시"
},
{
"id": 13,
"name": "자료 내보내기 버튼 확인",
"action": "verify_element",
"selector": "main button",
"contains": "자료 내보내기",
"expected": "자료 내보내기 버튼 표시"
},
{
"id": 14,
"name": "서비스 해지 버튼 확인",
"action": "verify_element",
"selector": "main button",
"contains": "서비스 해지",
"expected": "서비스 해지 버튼 표시"
}
],
"expectedAPIs": [
@@ -146,16 +144,6 @@
"endpoint": "/api/v1/subscription",
"description": "구독 정보 조회"
},
{
"method": "GET",
"endpoint": "/api/v1/subscription/plans",
"description": "플랜 목록 조회"
},
{
"method": "GET",
"endpoint": "/api/v1/subscription/payments",
"description": "결제 내역 조회"
},
{
"method": "GET",
"endpoint": "/api/v1/subscription/usage",
@@ -166,11 +154,11 @@
{
"id": 5,
"name": "목업 페이지 감지",
"steps": [2],
"criteria": "구독 정보, 플랜 정보, 결제 정보 존재"
"steps": [3],
"criteria": "구독 정보 카드, 플랜 정보, 사용량 현황 존재"
}
],
"rollbackPlan": {
"note": "조회 전용 페이지로 데이터 변경 없음 (결제/플랜 변경은 별도 테스트)"
"note": "조회 전용 페이지로 데이터 변경 없음"
}
}