feat: E2E 시나리오 36개 추가 - 전체 메뉴 커버리지 확장
새 시나리오: - 품질관리: quality-inspection, quality-certification - 품목관리: item-master - 인사관리: hr-employee, hr-department, hr-card, hr-attendance-status, hr-attendance-admin, hr-salary, hr-vacation - 리포트: report-analysis - 고객센터: customer-notice - 설정: settings-account, settings-permission, settings-rank, settings-popup, settings-company, settings-subscription - 판매관리: sales-quotation, sales-order, sales-pricing, sales-client - 구매관리: purchase-client, purchase-order, purchase-status - 생산관리: production-item, production-work-result - 자재관리: material-stock, material-receiving - 출고관리: shipment-management - 차량관리: vehicle-management - 회계관리: accounting-client, accounting-ledger, accounting-deposit, accounting-withdrawal, accounting-payment Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
116
accounting-client.json
Normal file
116
accounting-client.json
Normal file
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"id": "accounting-client",
|
||||
"name": "회계거래처관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "회계관리 > 거래처관리 메뉴의 거래처 조회/관리 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "회계관리",
|
||||
"level2": "거래처관리",
|
||||
"expectedUrl": "/accounting/vendors"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 회계관리 > 거래처관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "회계관리",
|
||||
"level2": "거래처관리",
|
||||
"expected": {
|
||||
"url_contains": "/accounting/vendors",
|
||||
"visible": ["거래처관리", "거래처"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"거래처 목록 표시",
|
||||
"거래처 등록 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "통계 카드 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"전체 거래처 카드",
|
||||
"매출 거래처 카드",
|
||||
"매입 거래처 카드"
|
||||
],
|
||||
"expected": "통계 카드 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "거래처 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"구분 컬럼",
|
||||
"거래처명 컬럼",
|
||||
"신용등급 컬럼",
|
||||
"거래등급 컬럼"
|
||||
],
|
||||
"expected": "거래처 테이블 표시"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "검색 기능 테스트",
|
||||
"action": "fill",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"value": "가우스",
|
||||
"expected": "검색어 입력됨"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"name": "검색 초기화",
|
||||
"action": "clear",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"expected": "검색어 삭제"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"name": "테이블 행 클릭 - 상세 페이지",
|
||||
"action": "click",
|
||||
"target": "table tbody tr:first-child",
|
||||
"expected": "상세 페이지로 이동"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"name": "상세 페이지 확인",
|
||||
"action": "verify_url",
|
||||
"expected": {
|
||||
"url_contains": "/accounting/vendors/"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"name": "목록으로 돌아가기",
|
||||
"action": "click",
|
||||
"target": "목록",
|
||||
"expected": "목록 페이지로 복귀"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 3,
|
||||
"name": "검색/필터",
|
||||
"steps": [5, 6],
|
||||
"criteria": "검색 기능 확인"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "거래처 목록, 통계 카드 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
71
accounting-deposit.json
Normal file
71
accounting-deposit.json
Normal file
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"id": "accounting-deposit",
|
||||
"name": "입금관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "회계관리 > 입금관리 메뉴의 입금 조회/등록 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "회계관리",
|
||||
"level2": "입금관리",
|
||||
"expectedUrl": "/accounting/deposits"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 회계관리 > 입금관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "회계관리",
|
||||
"level2": "입금관리",
|
||||
"expected": {
|
||||
"url_contains": "/accounting/deposits",
|
||||
"visible": ["입금관리", "입금"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"입금 목록 표시",
|
||||
"입금 등록 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "입금 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"입금일 컬럼",
|
||||
"거래처 컬럼",
|
||||
"금액 컬럼",
|
||||
"입금방법 컬럼"
|
||||
],
|
||||
"expected": "입금 테이블 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "입금 등록 버튼 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"입금 등록 버튼 존재"
|
||||
],
|
||||
"expected": "등록 버튼 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "입금 목록, 등록 버튼 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
73
accounting-ledger.json
Normal file
73
accounting-ledger.json
Normal file
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"id": "accounting-ledger",
|
||||
"name": "거래처원장 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "회계관리 > 거래처원장 메뉴의 거래처별 원장 조회 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "회계관리",
|
||||
"level2": "거래처원장",
|
||||
"expectedUrl": "/accounting/vendor-ledger"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 회계관리 > 거래처원장",
|
||||
"action": "menu_navigate",
|
||||
"level1": "회계관리",
|
||||
"level2": "거래처원장",
|
||||
"expected": {
|
||||
"url_contains": "/accounting/vendor-ledger",
|
||||
"visible": ["거래처원장"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"원장 목록 표시",
|
||||
"거래처 선택 가능"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "원장 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"날짜 컬럼",
|
||||
"거래내역 컬럼",
|
||||
"차변 컬럼",
|
||||
"대변 컬럼",
|
||||
"잔액 컬럼"
|
||||
],
|
||||
"expected": "원장 테이블 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "기간 필터 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"시작일 선택",
|
||||
"종료일 선택"
|
||||
],
|
||||
"expected": "기간 필터 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "원장 목록 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
61
accounting-payment.json
Normal file
61
accounting-payment.json
Normal file
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"id": "accounting-payment",
|
||||
"name": "결제내역 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "회계관리 > 결제내역 메뉴의 결제 내역 조회 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "회계관리",
|
||||
"level2": "결제내역",
|
||||
"expectedUrl": "/payment-history"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 회계관리 > 결제내역",
|
||||
"action": "menu_navigate",
|
||||
"level1": "회계관리",
|
||||
"level2": "결제내역",
|
||||
"expected": {
|
||||
"url_contains": "/payment",
|
||||
"visible": ["결제내역", "결제"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"결제 내역 목록 표시"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "결제 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"결제일 컬럼",
|
||||
"결제금액 컬럼",
|
||||
"결제방법 컬럼",
|
||||
"상태 컬럼"
|
||||
],
|
||||
"expected": "결제 테이블 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "결제 내역 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
71
accounting-withdrawal.json
Normal file
71
accounting-withdrawal.json
Normal file
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"id": "accounting-withdrawal",
|
||||
"name": "출금관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "회계관리 > 출금관리 메뉴의 출금 조회/등록 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "회계관리",
|
||||
"level2": "출금관리",
|
||||
"expectedUrl": "/accounting/withdrawals"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 회계관리 > 출금관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "회계관리",
|
||||
"level2": "출금관리",
|
||||
"expected": {
|
||||
"url_contains": "/accounting/withdrawals",
|
||||
"visible": ["출금관리", "출금"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"출금 목록 표시",
|
||||
"출금 등록 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "출금 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"출금일 컬럼",
|
||||
"거래처 컬럼",
|
||||
"금액 컬럼",
|
||||
"출금방법 컬럼"
|
||||
],
|
||||
"expected": "출금 테이블 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "출금 등록 버튼 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"출금 등록 버튼 존재"
|
||||
],
|
||||
"expected": "등록 버튼 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "출금 목록, 등록 버튼 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
69
customer-notice.json
Normal file
69
customer-notice.json
Normal file
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"id": "customer-notice",
|
||||
"name": "공지사항 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "고객센터 > 공지사항 메뉴의 공지사항 조회 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "고객센터",
|
||||
"level2": "공지사항",
|
||||
"expectedUrl": "/support/notice"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 고객센터 > 공지사항",
|
||||
"action": "menu_navigate",
|
||||
"level1": "고객센터",
|
||||
"level2": "공지사항",
|
||||
"expected": {
|
||||
"url_contains": "/support",
|
||||
"visible": ["공지사항"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"공지사항 목록 표시",
|
||||
"검색 기능 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "공지사항 목록 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"번호 컬럼",
|
||||
"제목 컬럼",
|
||||
"작성자 컬럼",
|
||||
"작성일 컬럼"
|
||||
],
|
||||
"expected": "공지사항 목록 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "공지사항 상세 보기",
|
||||
"action": "click",
|
||||
"target": "table tbody tr:first-child",
|
||||
"expected": "공지사항 상세 페이지로 이동"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "공지사항 목록 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
92
hr-attendance-admin.json
Normal file
92
hr-attendance-admin.json
Normal file
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"id": "hr-attendance-admin",
|
||||
"name": "근태관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "인사관리 > 근태관리 메뉴의 관리자용 근태 관리 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "인사관리",
|
||||
"level2": "근태관리",
|
||||
"expectedUrl": "/hr/attendance-management"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 인사관리 > 근태관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "인사관리",
|
||||
"level2": "근태관리",
|
||||
"expected": {
|
||||
"url_contains": "/hr/attendance-management",
|
||||
"visible": ["근태관리"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"사원별 근태 목록 표시",
|
||||
"날짜 필터 존재",
|
||||
"검색 기능 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "근태 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"사원명 컬럼",
|
||||
"날짜 컬럼",
|
||||
"출근시간 컬럼",
|
||||
"퇴근시간 컬럼",
|
||||
"상태 컬럼"
|
||||
],
|
||||
"expected": "근태 테이블 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "날짜 필터 테스트",
|
||||
"action": "click",
|
||||
"target": "input[type='date']",
|
||||
"expected": "날짜 선택 가능"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "검색 기능 테스트",
|
||||
"action": "fill",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"value": "홍길동",
|
||||
"expected": "검색어 입력됨"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"name": "검색 초기화",
|
||||
"action": "clear",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"expected": "검색어 삭제"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 3,
|
||||
"name": "검색/필터",
|
||||
"steps": [4, 5, 6],
|
||||
"criteria": "날짜 필터 및 검색 기능 확인"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "근태 목록, 필터, 검색 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
72
hr-attendance-status.json
Normal file
72
hr-attendance-status.json
Normal file
@@ -0,0 +1,72 @@
|
||||
{
|
||||
"id": "hr-attendance-status",
|
||||
"name": "근태현황 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "인사관리 > 근태현황 메뉴의 출퇴근 현황 조회 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "인사관리",
|
||||
"level2": "근태현황",
|
||||
"expectedUrl": "/hr/attendance"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 인사관리 > 근태현황",
|
||||
"action": "menu_navigate",
|
||||
"level1": "인사관리",
|
||||
"level2": "근태현황",
|
||||
"expected": {
|
||||
"url_contains": "/hr/attendance",
|
||||
"visible": ["근태현황", "출근", "퇴근"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"출퇴근 현황 표시",
|
||||
"날짜 선택 가능"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "출퇴근 버튼 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"출근 버튼 존재",
|
||||
"퇴근 버튼 존재"
|
||||
],
|
||||
"expected": "출퇴근 버튼 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "근태 현황 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"날짜 컬럼",
|
||||
"출근시간 컬럼",
|
||||
"퇴근시간 컬럼",
|
||||
"근무시간 컬럼"
|
||||
],
|
||||
"expected": "근태 현황 테이블 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "출퇴근 현황, 동작 버튼 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
70
hr-card.json
Normal file
70
hr-card.json
Normal file
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"id": "hr-card",
|
||||
"name": "카드관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "인사관리 > 카드관리 메뉴의 목록 조회, 카드 등록/관리 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "인사관리",
|
||||
"level2": "카드관리",
|
||||
"expectedUrl": "/hr/card-management"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 인사관리 > 카드관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "인사관리",
|
||||
"level2": "카드관리",
|
||||
"expected": {
|
||||
"url_contains": "/hr/card",
|
||||
"visible": ["카드관리", "카드"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"카드 목록 표시",
|
||||
"카드 등록 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "카드 목록 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"카드명 컬럼",
|
||||
"카드번호 컬럼",
|
||||
"사용자 컬럼"
|
||||
],
|
||||
"expected": "카드 목록 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "카드 등록 버튼 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"카드 등록 버튼 존재"
|
||||
],
|
||||
"expected": "등록 버튼 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "카드 목록, 동작 버튼 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
85
hr-department.json
Normal file
85
hr-department.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"id": "hr-department",
|
||||
"name": "부서관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "인사관리 > 부서관리 메뉴의 목록 조회, 부서 추가/수정 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "인사관리",
|
||||
"level2": "부서관리",
|
||||
"expectedUrl": "/hr/department-management"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 인사관리 > 부서관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "인사관리",
|
||||
"level2": "부서관리",
|
||||
"expected": {
|
||||
"url_contains": "/hr/department",
|
||||
"visible": ["부서관리", "부서"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"부서 목록 또는 트리 표시",
|
||||
"부서 추가 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "부서 목록 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"부서 트리 또는 테이블 표시",
|
||||
"부서명 표시"
|
||||
],
|
||||
"expected": "부서 목록 정상 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "부서 추가 버튼 클릭",
|
||||
"action": "click",
|
||||
"target": "부서 추가",
|
||||
"expected": "부서 추가 모달 열림"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "부서 추가 모달 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"부서명 입력 필드",
|
||||
"상위 부서 선택",
|
||||
"저장/취소 버튼"
|
||||
],
|
||||
"expected": "부서 추가 모달 표시"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"name": "모달 닫기",
|
||||
"action": "click",
|
||||
"target": "취소",
|
||||
"expected": "모달 닫힘"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "부서 목록, 동작 버튼 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
155
hr-employee.json
Normal file
155
hr-employee.json
Normal file
@@ -0,0 +1,155 @@
|
||||
{
|
||||
"id": "hr-employee",
|
||||
"name": "사원관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "인사관리 > 사원관리 메뉴의 목록 조회, 검색, CRUD 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "인사관리",
|
||||
"level2": "사원관리",
|
||||
"expectedUrl": "/hr/employee-management"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 인사관리 > 사원관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "인사관리",
|
||||
"level2": "사원관리",
|
||||
"expected": {
|
||||
"url_contains": "/hr/employee",
|
||||
"visible": ["사원관리", "사원"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"검색 입력 필드 존재",
|
||||
"테이블 데이터 표시",
|
||||
"사원 등록 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "테이블 구조 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"사원명 컬럼",
|
||||
"부서 컬럼",
|
||||
"직급 컬럼",
|
||||
"입사일 컬럼"
|
||||
],
|
||||
"expected": "주요 컬럼 존재"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "검색 기능 테스트",
|
||||
"action": "fill",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"value": "홍길동",
|
||||
"expected": "검색어 입력됨"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "검색 결과 확인",
|
||||
"action": "wait",
|
||||
"duration": 500,
|
||||
"expected": "검색 결과 표시"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"name": "검색 초기화",
|
||||
"action": "clear",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"expected": "검색어 삭제"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"name": "사원 등록 버튼 클릭",
|
||||
"action": "click",
|
||||
"target": "사원 등록",
|
||||
"expected": "등록 폼/모달 열림"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"name": "등록 폼 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"이름 입력 필드",
|
||||
"이메일 입력 필드",
|
||||
"아이디 입력 필드",
|
||||
"비밀번호 입력 필드",
|
||||
"입사일 입력 필드"
|
||||
],
|
||||
"expected": "등록 폼 표시"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"name": "등록 폼 닫기",
|
||||
"action": "click",
|
||||
"target": "취소",
|
||||
"expected": "등록 폼 닫힘"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"name": "테이블 행 클릭 - 상세 페이지",
|
||||
"action": "click",
|
||||
"target": "table tbody tr:first-child",
|
||||
"expected": "상세 페이지로 이동"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"name": "상세 페이지 요소 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"사원 정보 표시",
|
||||
"목록 버튼 존재",
|
||||
"수정 버튼 존재"
|
||||
],
|
||||
"expected": "상세 정보 정상 표시"
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"name": "목록으로 돌아가기",
|
||||
"action": "click",
|
||||
"target": "목록",
|
||||
"expected": "목록 페이지로 복귀"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 3,
|
||||
"name": "검색/필터",
|
||||
"steps": [4, 5, 6],
|
||||
"criteria": "검색 시 데이터 변화 확인"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "입력 필드, 동작 버튼, 테이블 데이터 확인"
|
||||
}
|
||||
],
|
||||
"expectedAPIs": [
|
||||
{
|
||||
"method": "GET",
|
||||
"endpoint": "/api/v1/employees",
|
||||
"description": "사원 목록 조회"
|
||||
},
|
||||
{
|
||||
"method": "POST",
|
||||
"endpoint": "/api/v1/employees",
|
||||
"description": "사원 등록"
|
||||
}
|
||||
]
|
||||
}
|
||||
73
hr-salary.json
Normal file
73
hr-salary.json
Normal file
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"id": "hr-salary",
|
||||
"name": "급여관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "인사관리 > 급여관리 메뉴의 급여 조회/관리 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "인사관리",
|
||||
"level2": "급여관리",
|
||||
"expectedUrl": "/hr/salary-management"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 인사관리 > 급여관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "인사관리",
|
||||
"level2": "급여관리",
|
||||
"expected": {
|
||||
"url_contains": "/hr/salary",
|
||||
"visible": ["급여관리", "급여"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"급여 목록 표시",
|
||||
"월/년도 선택 가능"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "급여 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"사원명 컬럼",
|
||||
"기본급 컬럼",
|
||||
"수당 컬럼",
|
||||
"공제 컬럼",
|
||||
"실수령액 컬럼"
|
||||
],
|
||||
"expected": "급여 테이블 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "월 선택 필터 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"년도 선택",
|
||||
"월 선택"
|
||||
],
|
||||
"expected": "날짜 필터 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "급여 목록, 필터 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
82
hr-vacation.json
Normal file
82
hr-vacation.json
Normal file
@@ -0,0 +1,82 @@
|
||||
{
|
||||
"id": "hr-vacation",
|
||||
"name": "휴가관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "인사관리 > 휴가관리 메뉴의 휴가 신청/조회 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "인사관리",
|
||||
"level2": "휴가관리",
|
||||
"expectedUrl": "/hr/vacation-management"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 인사관리 > 휴가관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "인사관리",
|
||||
"level2": "휴가관리",
|
||||
"expected": {
|
||||
"url_contains": "/hr/vacation",
|
||||
"visible": ["휴가관리", "휴가"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"휴가 목록 표시",
|
||||
"휴가 신청 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "휴가 현황 카드 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"잔여 연차 표시",
|
||||
"사용 연차 표시",
|
||||
"총 연차 표시"
|
||||
],
|
||||
"expected": "휴가 현황 카드 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "휴가 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"휴가 유형 컬럼",
|
||||
"시작일 컬럼",
|
||||
"종료일 컬럼",
|
||||
"상태 컬럼"
|
||||
],
|
||||
"expected": "휴가 테이블 표시"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "휴가 신청 버튼 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"휴가 신청 버튼 존재"
|
||||
],
|
||||
"expected": "신청 버튼 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "휴가 목록, 신청 버튼 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
115
item-master.json
Normal file
115
item-master.json
Normal file
@@ -0,0 +1,115 @@
|
||||
{
|
||||
"id": "item-master",
|
||||
"name": "품목기준관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "품목관리 > 품목기준관리 메뉴의 목록 조회, 검색, 상세 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "품목관리",
|
||||
"level2": "품목기준관리",
|
||||
"expectedUrl": "/master-data/item-master-data-management"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 품목관리 > 품목기준관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "품목관리",
|
||||
"level2": "품목기준관리",
|
||||
"expected": {
|
||||
"url_contains": "/master-data",
|
||||
"visible": ["품목기준관리", "품목"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"검색 입력 필드 존재",
|
||||
"테이블 또는 목록 표시",
|
||||
"등록/추가 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "테이블 구조 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"품목코드 컬럼",
|
||||
"품목명 컬럼",
|
||||
"규격 컬럼",
|
||||
"단위 컬럼"
|
||||
],
|
||||
"expected": "주요 컬럼 존재"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "검색 기능 테스트",
|
||||
"action": "fill",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"value": "테스트",
|
||||
"expected": "검색어 입력됨"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "검색 결과 확인",
|
||||
"action": "wait",
|
||||
"duration": 500,
|
||||
"expected": "검색 결과 표시"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"name": "검색 초기화",
|
||||
"action": "clear",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"expected": "검색어 삭제"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"name": "테이블 행 클릭 - 상세 페이지",
|
||||
"action": "click",
|
||||
"target": "table tbody tr:first-child",
|
||||
"expected": "상세 페이지로 이동"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"name": "상세 페이지 요소 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"품목 정보 표시",
|
||||
"목록 버튼 존재"
|
||||
],
|
||||
"expected": "상세 정보 정상 표시"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"name": "목록으로 돌아가기",
|
||||
"action": "click",
|
||||
"target": "목록",
|
||||
"expected": "목록 페이지로 복귀"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 3,
|
||||
"name": "검색/필터",
|
||||
"steps": [4, 5, 6],
|
||||
"criteria": "검색 시 데이터 변화 확인"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "입력 필드, 동작 버튼, 테이블 데이터 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
62
material-receiving.json
Normal file
62
material-receiving.json
Normal file
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"id": "material-receiving",
|
||||
"name": "입고관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "자재관리 > 입고관리 메뉴의 입고 조회/등록 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "자재관리",
|
||||
"level2": "입고관리",
|
||||
"expectedUrl": "/material/receiving-management"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 자재관리 > 입고관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "자재관리",
|
||||
"level2": "입고관리",
|
||||
"expected": {
|
||||
"url_contains": "/material/receiving",
|
||||
"visible": ["입고관리", "입고"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"입고 목록 표시",
|
||||
"입고 등록 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "입고 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"입고일 컬럼",
|
||||
"품목 컬럼",
|
||||
"수량 컬럼",
|
||||
"거래처 컬럼"
|
||||
],
|
||||
"expected": "입고 테이블 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "입고 목록 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
82
material-stock.json
Normal file
82
material-stock.json
Normal file
@@ -0,0 +1,82 @@
|
||||
{
|
||||
"id": "material-stock",
|
||||
"name": "재고현황 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "자재관리 > 재고현황 메뉴의 재고 현황 조회 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "자재관리",
|
||||
"level2": "재고현황",
|
||||
"expectedUrl": "/material/stock-status"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 자재관리 > 재고현황",
|
||||
"action": "menu_navigate",
|
||||
"level1": "자재관리",
|
||||
"level2": "재고현황",
|
||||
"expected": {
|
||||
"url_contains": "/material/stock",
|
||||
"visible": ["재고현황", "재고"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"재고 목록 표시",
|
||||
"검색 기능 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "재고 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"품목 컬럼",
|
||||
"현재고 컬럼",
|
||||
"안전재고 컬럼"
|
||||
],
|
||||
"expected": "재고 테이블 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "검색 기능 테스트",
|
||||
"action": "fill",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"value": "테스트",
|
||||
"expected": "검색어 입력됨"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "검색 초기화",
|
||||
"action": "clear",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"expected": "검색어 삭제"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 3,
|
||||
"name": "검색/필터",
|
||||
"steps": [4, 5],
|
||||
"criteria": "검색 기능 확인"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "재고 목록 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
61
production-item.json
Normal file
61
production-item.json
Normal file
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"id": "production-item",
|
||||
"name": "생산품목관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "생산관리 > 품목관리 메뉴의 생산 품목 조회/관리 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "생산관리",
|
||||
"level2": "품목관리",
|
||||
"expectedUrl": "/production/items"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 생산관리 > 품목관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "생산관리",
|
||||
"level2": "품목관리",
|
||||
"expected": {
|
||||
"url_contains": "/production",
|
||||
"visible": ["품목관리", "품목"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"품목 목록 표시",
|
||||
"품목 등록 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "품목 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"품목코드 컬럼",
|
||||
"품목명 컬럼",
|
||||
"규격 컬럼"
|
||||
],
|
||||
"expected": "품목 테이블 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "품목 목록 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
62
production-work-result.json
Normal file
62
production-work-result.json
Normal file
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"id": "production-work-result",
|
||||
"name": "작업실적 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "생산관리 > 작업실적 메뉴의 작업 실적 조회/등록 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "생산관리",
|
||||
"level2": "작업실적",
|
||||
"expectedUrl": "/production/work-results"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 생산관리 > 작업실적",
|
||||
"action": "menu_navigate",
|
||||
"level1": "생산관리",
|
||||
"level2": "작업실적",
|
||||
"expected": {
|
||||
"url_contains": "/production/work",
|
||||
"visible": ["작업실적"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"작업실적 목록 표시",
|
||||
"실적 등록 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "작업실적 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"작업일 컬럼",
|
||||
"품목 컬럼",
|
||||
"수량 컬럼",
|
||||
"작업자 컬럼"
|
||||
],
|
||||
"expected": "작업실적 테이블 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "작업실적 목록 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
60
purchase-client.json
Normal file
60
purchase-client.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"id": "purchase-client",
|
||||
"name": "구매거래처관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "구매관리 > 거래처관리 메뉴의 구매 거래처 조회/관리 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "구매관리",
|
||||
"level2": "거래처관리",
|
||||
"expectedUrl": "/purchase/client"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 구매관리 > 거래처관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "구매관리",
|
||||
"level2": "거래처관리",
|
||||
"expected": {
|
||||
"url_contains": "/purchase",
|
||||
"visible": ["거래처관리", "거래처"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"거래처 목록 표시",
|
||||
"거래처 등록 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "거래처 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"거래처명 컬럼",
|
||||
"사업자번호 컬럼"
|
||||
],
|
||||
"expected": "거래처 테이블 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "거래처 목록 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
62
purchase-order.json
Normal file
62
purchase-order.json
Normal file
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"id": "purchase-order",
|
||||
"name": "발주관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "구매관리 > 발주관리 메뉴의 발주 조회/관리 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "구매관리",
|
||||
"level2": "발주관리",
|
||||
"expectedUrl": "/purchase/orders"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 구매관리 > 발주관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "구매관리",
|
||||
"level2": "발주관리",
|
||||
"expected": {
|
||||
"url_contains": "/purchase",
|
||||
"visible": ["발주관리", "발주"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"발주 목록 표시",
|
||||
"발주 등록 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "발주 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"발주번호 컬럼",
|
||||
"거래처 컬럼",
|
||||
"품목 컬럼",
|
||||
"상태 컬럼"
|
||||
],
|
||||
"expected": "발주 테이블 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "발주 목록 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
60
purchase-status.json
Normal file
60
purchase-status.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"id": "purchase-status",
|
||||
"name": "구매현황 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "구매관리 > 구매현황 메뉴의 구매 현황 조회 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "구매관리",
|
||||
"level2": "구매현황",
|
||||
"expectedUrl": "/purchase/status"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 구매관리 > 구매현황",
|
||||
"action": "menu_navigate",
|
||||
"level1": "구매관리",
|
||||
"level2": "구매현황",
|
||||
"expected": {
|
||||
"url_contains": "/purchase",
|
||||
"visible": ["구매현황", "구매"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"구매 현황 표시",
|
||||
"필터 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "구매 현황 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"구매 통계 카드",
|
||||
"구매 목록 테이블"
|
||||
],
|
||||
"expected": "구매 현황 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "구매 현황 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
60
quality-certification.json
Normal file
60
quality-certification.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"id": "quality-certification",
|
||||
"name": "품질인정심사 시스템 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "품질관리 > 품질인정심사 시스템 메뉴의 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "품질관리",
|
||||
"level2": "품질인정심사 시스템",
|
||||
"expectedUrl": "/quality/certification"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 품질관리 > 품질인정심사 시스템",
|
||||
"action": "menu_navigate",
|
||||
"level1": "품질관리",
|
||||
"level2": "품질인정심사 시스템",
|
||||
"expected": {
|
||||
"url_contains": "/quality",
|
||||
"visible": ["품질인정심사"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"페이지 콘텐츠 로드",
|
||||
"주요 기능 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "페이지 요소 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"페이지 타이틀 표시",
|
||||
"주요 콘텐츠 영역 존재"
|
||||
],
|
||||
"expected": "페이지 정상 로드"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "페이지 콘텐츠 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
181
quality-inspection.json
Normal file
181
quality-inspection.json
Normal file
@@ -0,0 +1,181 @@
|
||||
{
|
||||
"id": "quality-inspection",
|
||||
"name": "제품검사관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "품질관리 > 제품검사관리 메뉴의 목록 조회, 필터, 검색, 등록, 상세 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "품질관리",
|
||||
"level2": "제품검사관리",
|
||||
"expectedUrl": "/quality/inspections"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 품질관리 > 제품검사관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "품질관리",
|
||||
"level2": "제품검사관리",
|
||||
"expected": {
|
||||
"url_contains": "/quality/inspections",
|
||||
"visible": ["제품검사 목록", "제품검사 등록"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"검색 입력 필드 존재 및 입력 가능",
|
||||
"날짜 필터 존재",
|
||||
"테이블 데이터 표시",
|
||||
"제품검사 등록 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "상태 카드 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"접수 카드 표시",
|
||||
"진행중 카드 표시",
|
||||
"완료 카드 표시"
|
||||
],
|
||||
"expected": "3개 상태 카드 모두 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "테이블 구조 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"No. 컬럼",
|
||||
"품질관리서 번호 컬럼",
|
||||
"현장명 컬럼",
|
||||
"수주처 컬럼",
|
||||
"개소 컬럼",
|
||||
"필수정보 컬럼",
|
||||
"검사기간 컬럼",
|
||||
"검사자 컬럼",
|
||||
"상태 컬럼",
|
||||
"작성자 컬럼",
|
||||
"접수일 컬럼"
|
||||
],
|
||||
"expected": "11개 컬럼 존재"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "날짜 필터 테스트 - 당월",
|
||||
"action": "click",
|
||||
"target": "당월",
|
||||
"expected": "당월 데이터로 필터링"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"name": "날짜 필터 테스트 - 당해년도",
|
||||
"action": "click",
|
||||
"target": "당해년도",
|
||||
"expected": "당해년도 데이터로 필터링"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"name": "검색 기능 테스트",
|
||||
"action": "fill",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"value": "현장명",
|
||||
"expected": "검색어 입력됨"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"name": "검색 결과 확인",
|
||||
"action": "wait",
|
||||
"duration": 500,
|
||||
"verify": {
|
||||
"tableContains": "현장명"
|
||||
},
|
||||
"expected": "검색 결과 표시"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"name": "검색 초기화",
|
||||
"action": "clear",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"expected": "검색어 삭제"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"name": "테이블 행 클릭 - 상세 페이지",
|
||||
"action": "click",
|
||||
"target": "table tbody tr:first-child",
|
||||
"expected": "상세 페이지로 이동"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"name": "상세 페이지 확인",
|
||||
"action": "verify_url",
|
||||
"expected": {
|
||||
"url_contains": "/quality/inspections/"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"name": "상세 페이지 요소 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"품질관리서 정보 표시",
|
||||
"목록 버튼 존재",
|
||||
"수정 버튼 존재"
|
||||
],
|
||||
"expected": "상세 정보 정상 표시"
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"name": "목록으로 돌아가기",
|
||||
"action": "click",
|
||||
"target": "목록",
|
||||
"expected": "목록 페이지로 복귀"
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"name": "목록 페이지 복귀 확인",
|
||||
"action": "verify_url",
|
||||
"expected": {
|
||||
"url_contains": "/quality/inspections",
|
||||
"url_not_contains": "/quality/inspections/"
|
||||
}
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 3,
|
||||
"name": "검색/필터",
|
||||
"steps": [5, 6, 7, 8, 9],
|
||||
"criteria": "날짜 필터 및 검색 시 데이터 변화 확인"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "입력 필드, 동작 버튼, 테이블 데이터 확인"
|
||||
}
|
||||
],
|
||||
"expectedAPIs": [
|
||||
{
|
||||
"method": "GET",
|
||||
"endpoint": "/api/v1/quality/inspections",
|
||||
"description": "제품검사 목록 조회"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"endpoint": "/api/v1/quality/inspections/{id}",
|
||||
"description": "제품검사 상세 조회"
|
||||
}
|
||||
]
|
||||
}
|
||||
70
report-analysis.json
Normal file
70
report-analysis.json
Normal file
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"id": "report-analysis",
|
||||
"name": "종합분석 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "리포트 > 종합분석 메뉴의 분석 대시보드 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "리포트",
|
||||
"level2": "종합분석",
|
||||
"expectedUrl": "/reports/comprehensive-analysis"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 리포트 > 종합분석",
|
||||
"action": "menu_navigate",
|
||||
"level1": "리포트",
|
||||
"level2": "종합분석",
|
||||
"expected": {
|
||||
"url_contains": "/reports/comprehensive",
|
||||
"visible": ["종합분석", "분석"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"분석 차트 표시",
|
||||
"데이터 요약 카드 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "분석 대시보드 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"매출 차트 또는 데이터",
|
||||
"비용 차트 또는 데이터",
|
||||
"요약 통계"
|
||||
],
|
||||
"expected": "분석 대시보드 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "기간 선택 필터 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"기간 선택 가능"
|
||||
],
|
||||
"expected": "기간 필터 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "분석 차트, 데이터 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
82
sales-client.json
Normal file
82
sales-client.json
Normal file
@@ -0,0 +1,82 @@
|
||||
{
|
||||
"id": "sales-client",
|
||||
"name": "판매거래처관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "판매관리 > 거래처관리 메뉴의 판매 거래처 조회/관리 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "판매관리",
|
||||
"level2": "거래처관리",
|
||||
"expectedUrl": "/sales/client-management"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 판매관리 > 거래처관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "판매관리",
|
||||
"level2": "거래처관리",
|
||||
"expected": {
|
||||
"url_contains": "/sales/client",
|
||||
"visible": ["거래처관리", "거래처"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"거래처 목록 표시",
|
||||
"거래처 등록 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "거래처 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"거래처명 컬럼",
|
||||
"사업자번호 컬럼",
|
||||
"연락처 컬럼"
|
||||
],
|
||||
"expected": "거래처 테이블 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "검색 기능 테스트",
|
||||
"action": "fill",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"value": "가우스",
|
||||
"expected": "검색어 입력됨"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "검색 초기화",
|
||||
"action": "clear",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"expected": "검색어 삭제"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 3,
|
||||
"name": "검색/필터",
|
||||
"steps": [4, 5],
|
||||
"criteria": "검색 기능 확인"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "거래처 목록, 등록 버튼 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
84
sales-order.json
Normal file
84
sales-order.json
Normal file
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"id": "sales-order",
|
||||
"name": "수주관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "판매관리 > 수주관리 메뉴의 수주 조회/관리 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "판매관리",
|
||||
"level2": "수주관리",
|
||||
"expectedUrl": "/sales/orders"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 판매관리 > 수주관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "판매관리",
|
||||
"level2": "수주관리",
|
||||
"expected": {
|
||||
"url_contains": "/sales",
|
||||
"visible": ["수주관리", "수주"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"수주 목록 표시",
|
||||
"수주 등록 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "수주 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"수주번호 컬럼",
|
||||
"거래처 컬럼",
|
||||
"품목 컬럼",
|
||||
"금액 컬럼",
|
||||
"상태 컬럼"
|
||||
],
|
||||
"expected": "수주 테이블 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "검색 기능 테스트",
|
||||
"action": "fill",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"value": "테스트",
|
||||
"expected": "검색어 입력됨"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "검색 초기화",
|
||||
"action": "clear",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"expected": "검색어 삭제"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 3,
|
||||
"name": "검색/필터",
|
||||
"steps": [4, 5],
|
||||
"criteria": "검색 기능 확인"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "수주 목록, 등록 버튼 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
82
sales-pricing.json
Normal file
82
sales-pricing.json
Normal file
@@ -0,0 +1,82 @@
|
||||
{
|
||||
"id": "sales-pricing",
|
||||
"name": "단가관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "판매관리 > 단가관리 메뉴의 단가 조회/관리 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "판매관리",
|
||||
"level2": "단가관리",
|
||||
"expectedUrl": "/sales/pricing-management"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 판매관리 > 단가관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "판매관리",
|
||||
"level2": "단가관리",
|
||||
"expected": {
|
||||
"url_contains": "/sales/pricing",
|
||||
"visible": ["단가관리", "단가"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"단가 목록 표시",
|
||||
"단가 등록 가능"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "단가 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"품목 컬럼",
|
||||
"단가 컬럼",
|
||||
"적용일 컬럼"
|
||||
],
|
||||
"expected": "단가 테이블 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "검색 기능 테스트",
|
||||
"action": "fill",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"value": "테스트",
|
||||
"expected": "검색어 입력됨"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "검색 초기화",
|
||||
"action": "clear",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"expected": "검색어 삭제"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 3,
|
||||
"name": "검색/필터",
|
||||
"steps": [4, 5],
|
||||
"criteria": "검색 기능 확인"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "단가 목록 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
93
sales-quotation.json
Normal file
93
sales-quotation.json
Normal file
@@ -0,0 +1,93 @@
|
||||
{
|
||||
"id": "sales-quotation",
|
||||
"name": "견적관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "판매관리 > 견적관리 메뉴의 견적서 조회/관리 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "판매관리",
|
||||
"level2": "견적관리",
|
||||
"expectedUrl": "/sales/quotation"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 판매관리 > 견적관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "판매관리",
|
||||
"level2": "견적관리",
|
||||
"expected": {
|
||||
"url_contains": "/sales",
|
||||
"visible": ["견적관리", "견적"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"견적 목록 표시",
|
||||
"견적 등록 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "견적 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"견적번호 컬럼",
|
||||
"거래처 컬럼",
|
||||
"금액 컬럼",
|
||||
"상태 컬럼",
|
||||
"작성일 컬럼"
|
||||
],
|
||||
"expected": "견적 테이블 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "검색 기능 테스트",
|
||||
"action": "fill",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"value": "테스트",
|
||||
"expected": "검색어 입력됨"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "검색 초기화",
|
||||
"action": "clear",
|
||||
"target": "input[placeholder*='검색']",
|
||||
"expected": "검색어 삭제"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"name": "견적 등록 버튼 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"견적 등록 버튼 존재"
|
||||
],
|
||||
"expected": "등록 버튼 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 3,
|
||||
"name": "검색/필터",
|
||||
"steps": [4, 5],
|
||||
"criteria": "검색 기능 확인"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "견적 목록, 등록 버튼 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
70
settings-account.json
Normal file
70
settings-account.json
Normal file
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"id": "settings-account",
|
||||
"name": "계정정보 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "설정 > 계정정보 메뉴의 계정 정보 조회/수정 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "설정",
|
||||
"level2": "계정정보",
|
||||
"expectedUrl": "/settings/account"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 설정 > 계정정보",
|
||||
"action": "menu_navigate",
|
||||
"level1": "설정",
|
||||
"level2": "계정정보",
|
||||
"expected": {
|
||||
"url_contains": "/settings",
|
||||
"visible": ["계정정보", "프로필"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"계정 정보 표시",
|
||||
"수정 기능 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "계정 정보 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"사용자명 표시",
|
||||
"이메일 표시",
|
||||
"프로필 이미지"
|
||||
],
|
||||
"expected": "계정 정보 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "비밀번호 변경 버튼 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"비밀번호 변경 버튼 존재"
|
||||
],
|
||||
"expected": "비밀번호 변경 버튼 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "계정 정보, 수정 기능 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
71
settings-company.json
Normal file
71
settings-company.json
Normal file
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"id": "settings-company",
|
||||
"name": "회사정보 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "설정 > 회사정보 메뉴의 회사 정보 조회/수정 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "설정",
|
||||
"level2": "회사정보",
|
||||
"expectedUrl": "/company-info"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 설정 > 회사정보",
|
||||
"action": "menu_navigate",
|
||||
"level1": "설정",
|
||||
"level2": "회사정보",
|
||||
"expected": {
|
||||
"url_contains": "/company",
|
||||
"visible": ["회사정보", "회사"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"회사 정보 표시",
|
||||
"수정 기능 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "회사 정보 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"회사명 표시",
|
||||
"사업자등록번호 표시",
|
||||
"주소 표시",
|
||||
"대표자명 표시"
|
||||
],
|
||||
"expected": "회사 정보 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "수정 버튼 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"수정 버튼 존재"
|
||||
],
|
||||
"expected": "수정 버튼 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "회사 정보, 수정 기능 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
60
settings-permission.json
Normal file
60
settings-permission.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"id": "settings-permission",
|
||||
"name": "권한관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "설정 > 권한관리 메뉴의 권한 설정 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "설정",
|
||||
"level2": "권한관리",
|
||||
"expectedUrl": "/settings/permissions"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 설정 > 권한관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "설정",
|
||||
"level2": "권한관리",
|
||||
"expected": {
|
||||
"url_contains": "/settings/permissions",
|
||||
"visible": ["권한관리", "권한"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"권한 목록 표시",
|
||||
"권한 설정 가능"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "권한 그룹 목록 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"권한 그룹 목록",
|
||||
"권한 추가 버튼"
|
||||
],
|
||||
"expected": "권한 목록 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "권한 목록, 설정 기능 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
70
settings-popup.json
Normal file
70
settings-popup.json
Normal file
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"id": "settings-popup",
|
||||
"name": "팝업관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "설정 > 팝업관리 메뉴의 팝업 설정 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "설정",
|
||||
"level2": "팝업관리",
|
||||
"expectedUrl": "/settings/popup-management"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 설정 > 팝업관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "설정",
|
||||
"level2": "팝업관리",
|
||||
"expected": {
|
||||
"url_contains": "/settings/popup",
|
||||
"visible": ["팝업관리", "팝업"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"팝업 목록 표시",
|
||||
"팝업 등록 가능"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "팝업 목록 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"팝업 제목 컬럼",
|
||||
"상태 컬럼",
|
||||
"기간 컬럼"
|
||||
],
|
||||
"expected": "팝업 목록 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "팝업 등록 버튼 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"팝업 등록 버튼 존재"
|
||||
],
|
||||
"expected": "등록 버튼 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "팝업 목록, 등록 기능 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
69
settings-rank.json
Normal file
69
settings-rank.json
Normal file
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"id": "settings-rank",
|
||||
"name": "직급관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "설정 > 직급관리 메뉴의 직급 설정 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "설정",
|
||||
"level2": "직급관리",
|
||||
"expectedUrl": "/settings/ranks"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 설정 > 직급관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "설정",
|
||||
"level2": "직급관리",
|
||||
"expected": {
|
||||
"url_contains": "/settings/ranks",
|
||||
"visible": ["직급관리", "직급"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"직급 목록 표시",
|
||||
"직급 추가 가능"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "직급 목록 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"직급명 컬럼",
|
||||
"순서 컬럼"
|
||||
],
|
||||
"expected": "직급 목록 표시"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "직급 추가 버튼 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"직급 추가 버튼 존재"
|
||||
],
|
||||
"expected": "추가 버튼 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "직급 목록, 추가 기능 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
61
settings-subscription.json
Normal file
61
settings-subscription.json
Normal file
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"id": "settings-subscription",
|
||||
"name": "구독관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "설정 > 구독관리 메뉴의 구독 정보 조회 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "설정",
|
||||
"level2": "구독관리",
|
||||
"expectedUrl": "/subscription"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 설정 > 구독관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "설정",
|
||||
"level2": "구독관리",
|
||||
"expected": {
|
||||
"url_contains": "/subscription",
|
||||
"visible": ["구독관리", "구독"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"구독 정보 표시",
|
||||
"플랜 정보 표시"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "구독 정보 확인",
|
||||
"action": "verify_elements",
|
||||
"checks": [
|
||||
"현재 플랜 표시",
|
||||
"구독 기간 표시",
|
||||
"결제 정보 표시"
|
||||
],
|
||||
"expected": "구독 정보 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "구독 정보 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,255 +1,62 @@
|
||||
{
|
||||
"id": "shipment-management",
|
||||
"name": "출하관리 테스트",
|
||||
"name": "출고관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "출고관리 > 출하관리 페이지의 출하 등록/조회/수정 기능을 테스트하는 E2E 테스트",
|
||||
"description": "출고관리 > 출고관리 메뉴의 출고 조회/관리 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"url": "/shipping/shipment",
|
||||
"navigation": {
|
||||
"targetUrl": "/shipping/shipment",
|
||||
"urlPattern": "/shipping/shipment|/ko/shipping/shipment",
|
||||
"menuHints": ["출하관리", "출하 관리", "출고관리"]
|
||||
},
|
||||
"menuNavigation": {
|
||||
"level1": "출고관리",
|
||||
"level2": "출하관리",
|
||||
"expectedUrl": "/shipping/shipment"
|
||||
"level2": "출고관리",
|
||||
"expectedUrl": "/shipment/management"
|
||||
},
|
||||
"menuNavigationEnhanced": {
|
||||
"strategy": "scroll-and-search",
|
||||
"sidebar": {
|
||||
"scrollContainer": ".sidebar-scroll",
|
||||
"scrollStep": 200,
|
||||
"maxScrollAttempts": 5,
|
||||
"waitAfterScroll": 300
|
||||
},
|
||||
"level1": {
|
||||
"text": "출고관리",
|
||||
"expandable": true,
|
||||
"waitAfterClick": 500
|
||||
},
|
||||
"level2": {
|
||||
"text": "출하관리",
|
||||
"waitAfterClick": 300
|
||||
},
|
||||
"fallbackUrl": "/shipping/shipment",
|
||||
"expectedUrl": "/shipping/shipment"
|
||||
},
|
||||
"timeout": 90000,
|
||||
"tags": ["shipping", "shipment", "crud"],
|
||||
|
||||
"login": {
|
||||
"url": "https://dev.codebridge-x.com/login",
|
||||
"credentials": {
|
||||
"id": "TestUser5",
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"successIndicator": "대시보드"
|
||||
},
|
||||
|
||||
"testData": {
|
||||
"shipment": {
|
||||
"deliveryMethod": "택배",
|
||||
"note": "E2E 테스트 출하입니다"
|
||||
}
|
||||
},
|
||||
|
||||
"steps": [
|
||||
{
|
||||
"id": "step-0",
|
||||
"name": "사이드바 메뉴 전체 펼치기",
|
||||
"description": "모두 펼치기 버튼을 클릭하여 전체 메뉴를 펼친 후 메뉴 탐색 준비",
|
||||
"actions": [
|
||||
{
|
||||
"type": "evaluate",
|
||||
"script": "document.querySelector('.sidebar-scroll')?.scrollTo({top:0,behavior:'instant'})"
|
||||
},
|
||||
{ "type": "wait", "duration": 300 },
|
||||
{
|
||||
"type": "evaluate",
|
||||
"script": "Array.from(document.querySelectorAll('button')).find(b => b.innerText?.includes('모두 펼치기'))?.click()"
|
||||
},
|
||||
{ "type": "wait", "duration": 2000 }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "step-1",
|
||||
"name": "출고관리 메뉴 진입",
|
||||
"description": "출고관리 > 출하관리 메뉴로 이동",
|
||||
"actions": [
|
||||
{
|
||||
"type": "scrollAndFind",
|
||||
"container": ".sidebar-scroll",
|
||||
"target": "출고관리",
|
||||
"scrollStep": 200,
|
||||
"maxAttempts": 5
|
||||
},
|
||||
{ "type": "click", "target": "출고관리" },
|
||||
{ "type": "wait", "duration": 500 },
|
||||
{ "type": "click", "target": "출하관리" }
|
||||
],
|
||||
"expect": {
|
||||
"url": "/shipping/shipment",
|
||||
"visible": ["출하 목록", "출하 등록"]
|
||||
},
|
||||
"fallback": {
|
||||
"type": "navigate",
|
||||
"url": "/shipping/shipment"
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 출고관리 > 출고관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "출고관리",
|
||||
"level2": "출고관리",
|
||||
"expected": {
|
||||
"url_contains": "/shipment",
|
||||
"visible": ["출고관리", "출고"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "step-2",
|
||||
"name": "페이지 구조 확인",
|
||||
"description": "통계 카드와 테이블 구조 확인",
|
||||
"verify": {
|
||||
"visible": ["당일 출하", "출고 대기", "배송중", "긴급 출하"],
|
||||
"tableColumns": ["번호", "출고번호", "로트번호", "출고예정일", "상태", "출하가능", "배송", "발주처", "현장명", "담당", "납기"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "step-3",
|
||||
"name": "필수 검증 #3: 상태 탭 필터 - 출고예정",
|
||||
"description": "출고예정 탭 클릭하여 필터링 확인",
|
||||
"actions": [
|
||||
{ "type": "click", "target": "출고예정", "role": "tab" },
|
||||
{ "type": "wait", "duration": 300 }
|
||||
],
|
||||
"expect": {
|
||||
"tabActive": "출고예정",
|
||||
"dataFiltered": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "step-4",
|
||||
"name": "필수 검증 #3: 상태 탭 필터 - 배송완료",
|
||||
"description": "배송완료 탭 클릭하여 필터링 확인",
|
||||
"actions": [
|
||||
{ "type": "click", "target": "배송완료", "role": "tab" },
|
||||
{ "type": "wait", "duration": 300 }
|
||||
],
|
||||
"expect": {
|
||||
"tabActive": "배송완료",
|
||||
"dataFiltered": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "step-5",
|
||||
"name": "전체 탭으로 복귀",
|
||||
"description": "전체 탭 클릭하여 모든 출하 표시",
|
||||
"actions": [
|
||||
{ "type": "click", "target": "전체", "role": "tab" },
|
||||
{ "type": "wait", "duration": 300 }
|
||||
],
|
||||
"expect": {
|
||||
"tabActive": "전체",
|
||||
"allDataShown": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "step-6",
|
||||
"name": "필수 검증 #2: 출하 등록 모달/페이지 열기",
|
||||
"description": "출하 등록 버튼 클릭하여 등록 화면 열기",
|
||||
"actions": [
|
||||
{ "type": "click", "target": "출하 등록" }
|
||||
],
|
||||
"expect": {
|
||||
"pageOrModal": "출하 등록",
|
||||
"visible": ["수주", "출고예정일", "배송방식"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "step-7",
|
||||
"name": "출하 등록 폼 확인",
|
||||
"description": "출하 등록 폼 필드 확인",
|
||||
"verify": {
|
||||
"formFields": ["수주", "출고예정일", "배송방식", "담당자"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "step-8",
|
||||
"name": "출하 등록 취소",
|
||||
"description": "취소 버튼 또는 ESC로 등록 취소",
|
||||
"actions": [
|
||||
{ "type": "press", "key": "Escape" },
|
||||
{ "type": "wait", "duration": 300 }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "step-9",
|
||||
"name": "출하 상세 열기",
|
||||
"description": "출하 항목 클릭하여 상세 보기",
|
||||
"actions": [
|
||||
{
|
||||
"type": "evaluate",
|
||||
"script": "document.querySelector('tbody tr')?.click()"
|
||||
}
|
||||
],
|
||||
"expect": {
|
||||
"pageOrModal": "출하 상세",
|
||||
"visible": ["출고번호", "상태", "발주처", "현장명"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "step-10",
|
||||
"name": "출하 상세 정보 확인",
|
||||
"description": "출하 상세 정보 표시 확인",
|
||||
"verify": {
|
||||
"visible": ["출고번호", "출고예정일", "상태", "배송방식", "발주처", "현장명"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "step-11",
|
||||
"name": "상세 닫기",
|
||||
"description": "ESC 키로 상세 닫기",
|
||||
"actions": [
|
||||
{ "type": "press", "key": "Escape" },
|
||||
{ "type": "wait", "duration": 300 }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
"assertions": [
|
||||
{
|
||||
"type": "url",
|
||||
"expected": "/shipping/shipment",
|
||||
"message": "출하관리 페이지에 머물러야 함"
|
||||
},
|
||||
{
|
||||
"type": "elementExists",
|
||||
"selector": "button:has-text('출하 등록')",
|
||||
"message": "출하 등록 버튼이 표시되어야 함"
|
||||
}
|
||||
],
|
||||
|
||||
"mandatoryVerifications": {
|
||||
"description": "E2E_TEST_CONFIG.md 기준 필수 검증 항목",
|
||||
"items": [
|
||||
{
|
||||
"id": 2,
|
||||
"name": "등록/저장 버튼",
|
||||
"trigger": "출하 등록 버튼",
|
||||
"verification": "URL 유지 + 에러 페이지 없음 + 성공 토스트",
|
||||
"failCondition": "404/500 에러 페이지 이동"
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"출고 목록 표시",
|
||||
"출고 등록 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "검색/필터",
|
||||
"trigger": "상태 탭 필터",
|
||||
"verification": "데이터 변화 확인",
|
||||
"failCondition": "필터 적용 후 데이터 무변화"
|
||||
"name": "출고 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"출고일 컬럼",
|
||||
"거래처 컬럼",
|
||||
"품목 컬럼",
|
||||
"수량 컬럼"
|
||||
],
|
||||
"expected": "출고 테이블 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "출고 목록 확인"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"notes": {
|
||||
"testScope": "출하 등록 → 조회 → 상태 필터링 테스트",
|
||||
"statsCards": ["당일 출하", "출고 대기", "배송중", "긴급 출하"],
|
||||
"statusTabs": ["전체", "출고예정", "출하대기", "배송중", "배송완료"],
|
||||
"tableColumns": ["번호", "출고번호", "로트번호", "출고예정일", "상태", "출하가능", "배송", "발주처", "현장명", "담당", "납기"],
|
||||
"workflow": "수주확정 → 출고예정 → 출하대기 → 배송중 → 배송완료",
|
||||
"prerequisites": "로그인된 사용자, 수주확정된 데이터 존재 시 출하 등록 가능"
|
||||
}
|
||||
}
|
||||
|
||||
61
vehicle-management.json
Normal file
61
vehicle-management.json
Normal file
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"id": "vehicle-management",
|
||||
"name": "차량관리 테스트",
|
||||
"screenshotPolicy": {
|
||||
"onErrorOnly": true,
|
||||
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||||
},
|
||||
"description": "차량관리 > 차량관리 메뉴의 차량 조회/관리 기능 테스트",
|
||||
"baseUrl": "https://dev.codebridge-x.com",
|
||||
"menuNavigation": {
|
||||
"level1": "차량관리",
|
||||
"level2": "차량관리",
|
||||
"expectedUrl": "/vehicle/management"
|
||||
},
|
||||
"auth": {
|
||||
"username": "TestUser5",
|
||||
"password": "password123!"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "메뉴 진입: 차량관리 > 차량관리",
|
||||
"action": "menu_navigate",
|
||||
"level1": "차량관리",
|
||||
"level2": "차량관리",
|
||||
"expected": {
|
||||
"url_contains": "/vehicle",
|
||||
"visible": ["차량관리", "차량"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "필수 검증 #5: 목업 페이지 감지",
|
||||
"action": "verify_not_mockup",
|
||||
"checks": [
|
||||
"차량 목록 표시",
|
||||
"차량 등록 버튼 존재"
|
||||
],
|
||||
"expected": "정상 페이지 (목업 아님)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "차량 테이블 확인",
|
||||
"action": "verify_table",
|
||||
"checks": [
|
||||
"차량번호 컬럼",
|
||||
"차종 컬럼",
|
||||
"담당자 컬럼"
|
||||
],
|
||||
"expected": "차량 테이블 표시"
|
||||
}
|
||||
],
|
||||
"requiredVerifications": [
|
||||
{
|
||||
"id": 5,
|
||||
"name": "목업 페이지 감지",
|
||||
"steps": [2],
|
||||
"criteria": "차량 목록 확인"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user