Files
sam-scenarios/production-worker.json
김보곤 3bc23c5884 refactor: E2E 시나리오 전면 개선 (43파일)
- Phase 0: 미구현 모듈 시나리오 13개 삭제 (구매관리, 중복, 라우트 없음)
- Phase 2: Settings URL 불일치 수정 (position, attendance, vacation-policy, bank-account, account, notification)
- Phase 3-4: 비설정 시나리오 URL/메뉴/UI 수정 (inventory-status, receiving-management, price-management, customer-inquiry, shipment-management, sales-client, quality-certification, customer-notice, production-* 등)
- Phase 5-6: 복잡 시나리오 재작성 (draft-box 50→14스텝, department-add 18→10스텝, free-board 70→22스텝, crud-delete-freeboard 14→17스텝)
- 16개 disabled 시나리오 enabled 전환
- 비표준 액션(fillInModal, randomData, usePlaywrightNative 등) → step-executor 표준 액션으로 통일
2026-02-06 17:37:35 +09:00

181 lines
4.6 KiB
JSON

{
"enabled": true,
"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": "실적 입력 테스트는 실제 데이터에 영향을 줄 수 있으므로 주의"
}
}