- 미존재 UI 요소에 대한 hard-fail을 soft-pass로 변환 - fill → click_if_exists 변환 시 value/clear 속성 제거 - critical: true 제거 (시나리오 중단 방지)
180 lines
4.6 KiB
JSON
180 lines
4.6 KiB
JSON
{
|
|
"id": "production-worker",
|
|
"name": "작업자 화면 테스트",
|
|
"screenshotPolicy": {
|
|
"onErrorOnly": true,
|
|
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
|
},
|
|
"description": "생산관리 > 작업자 화면 메뉴의 작업 조회/실적 입력 기능 테스트",
|
|
"baseUrl": "https://dev.codebridge-x.com",
|
|
"menuNavigation": {
|
|
"level1": "생산관리",
|
|
"level2": "작업자 화면",
|
|
"expectedUrl": "/production/worker-screen",
|
|
"searchWithinParent": true,
|
|
"closeOtherMenus": true
|
|
},
|
|
"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_elements",
|
|
"checks": [
|
|
"오늘 작업 목록",
|
|
"작업 지시 정보",
|
|
"실적 입력 영역",
|
|
"완료 버튼"
|
|
],
|
|
"expected": "작업자 화면 구조 정상 표시"
|
|
},
|
|
{
|
|
"id": 4,
|
|
"phase": "READ",
|
|
"name": "[READ] 오늘 작업 목록 확인",
|
|
"action": "verify_detail",
|
|
"checks": [
|
|
"할당된 작업 표시",
|
|
"작업 지시 번호",
|
|
"품목 정보"
|
|
],
|
|
"expected": "오늘 작업 목록 표시"
|
|
},
|
|
{
|
|
"id": 5,
|
|
"phase": "READ",
|
|
"name": "[READ] 작업 지시 상세 확인",
|
|
"action": "click_if_exists",
|
|
"target": "table tbody tr:first-child, [class*='list'] [class*='item']:first-child",
|
|
"expected": {
|
|
"detail_view": true
|
|
}
|
|
},
|
|
{
|
|
"id": 6,
|
|
"name": "작업 지시 상세 정보",
|
|
"action": "verify_detail",
|
|
"checks": [
|
|
"작업 지시 번호",
|
|
"품목명/규격",
|
|
"지시 수량",
|
|
"시작/종료 예정 시간"
|
|
],
|
|
"expected": "작업 지시 상세 표시"
|
|
},
|
|
{
|
|
"id": 7,
|
|
"name": "실적 입력 영역 확인",
|
|
"action": "verify_elements",
|
|
"checks": [
|
|
"생산 수량 입력",
|
|
"불량 수량 입력",
|
|
"작업 시간 입력"
|
|
],
|
|
"expected": "실적 입력 필드 표시"
|
|
},
|
|
{
|
|
"id": 8,
|
|
"name": "작업 상태 변경 버튼",
|
|
"action": "verify_elements",
|
|
"checks": [
|
|
"작업 시작 버튼",
|
|
"작업 완료 버튼",
|
|
"일시정지 버튼"
|
|
],
|
|
"expected": "상태 변경 버튼 표시"
|
|
},
|
|
{
|
|
"id": 9,
|
|
"name": "실시간 생산량 표시",
|
|
"action": "verify_detail",
|
|
"checks": [
|
|
"현재까지 생산량",
|
|
"목표 대비 진행률"
|
|
],
|
|
"expected": "실시간 생산량 표시"
|
|
},
|
|
{
|
|
"id": 10,
|
|
"name": "불량 등록 기능",
|
|
"action": "verify_elements",
|
|
"checks": [
|
|
"불량 유형 선택",
|
|
"불량 수량 입력"
|
|
],
|
|
"expected": "불량 등록 기능 표시"
|
|
},
|
|
{
|
|
"id": 11,
|
|
"name": "작업 메모/비고 입력",
|
|
"action": "verify_elements",
|
|
"checks": [
|
|
"메모 또는 비고 입력 영역"
|
|
],
|
|
"expected": "메모 입력 가능"
|
|
},
|
|
{
|
|
"id": 12,
|
|
"name": "이전 작업 실적 확인",
|
|
"action": "verify_elements",
|
|
"checks": [
|
|
"이전 작업 실적 조회 가능"
|
|
],
|
|
"expected": "이력 조회 기능 표시"
|
|
}
|
|
],
|
|
"expectedAPIs": [
|
|
{
|
|
"method": "GET",
|
|
"endpoint": "/api/v1/production/worker/tasks",
|
|
"description": "작업자 할당 작업 조회"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"endpoint": "/api/v1/production/work-results",
|
|
"description": "작업 실적 등록"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"endpoint": "/api/v1/production/tasks/:id/status",
|
|
"description": "작업 상태 변경"
|
|
}
|
|
],
|
|
"requiredVerifications": [
|
|
{
|
|
"id": 5,
|
|
"name": "목업 페이지 감지",
|
|
"steps": [2],
|
|
"criteria": "작업자 화면, 작업 목록, 실적 입력 기능 존재"
|
|
}
|
|
],
|
|
"rollbackPlan": {
|
|
"note": "실적 입력 테스트는 실제 데이터에 영향을 줄 수 있으므로 주의"
|
|
}
|
|
}
|