{ "enabled": true, "id": "draft-box", "name": "기안함 테스트", "screenshotPolicy": { "onErrorOnly": true, "captureOn": ["error", "fail", "timeout", "404", "500", "blocked"] }, "description": "결재관리 > 기안함 메뉴의 문서 목록 조회, 검색, 필터 기능 테스트", "baseUrl": "https://dev.codebridge-x.com", "menuNavigation": { "level1": "결재관리", "level2": "기안함", "expectedUrl": "/approval/draft", "searchWithinParent": true, "closeOtherMenus": true }, "auth": { "username": "TestUser5", "password": "password123!" }, "steps": [ { "id": 1, "name": "메뉴 진입: 결재관리 > 기안함", "action": "menu_navigate", "level1": "결재관리", "level2": "기안함", "expected": { "url_contains": "/approval/draft", "visible": ["기안함"] } }, { "id": 2, "name": "필수 검증 #5: 목업 페이지 감지", "action": "verify_not_mockup", "checks": [ "기안함 목록 표시", "검색/필터 기능 존재", "문서 작성 버튼 존재" ], "expected": "정상 페이지 (목업 아님)" }, { "id": 3, "name": "통계 카드 확인", "action": "verify_element", "checks": [ "진행 카드 표시", "완료 카드 표시", "반려 카드 표시", "임시 저장 카드 표시" ], "expected": "통계 카드 4개 표시" }, { "id": 4, "name": "기안함 테이블 구조 확인", "action": "verify_table", "checks": [ "문서번호 컬럼", "문서유형 컬럼", "제목 컬럼", "결재자 컬럼", "기안일시 컬럼", "상태 컬럼" ], "expected": "기안함 테이블 컬럼 정상 표시" }, { "id": 5, "name": "데이터 로드 확인", "action": "verify_detail", "checks": [ "기안 문서 데이터 행 존재 또는 '데이터가 없습니다' 메시지" ], "expected": "기안 문서 데이터 표시" }, { "id": 6, "phase": "SEARCH", "name": "[SEARCH] 검색 기능 테스트", "action": "fill", "target": "input[type='search'], input[placeholder*='검색']", "value": "테스트", "submit": true }, { "id": 7, "phase": "SEARCH", "name": "[SEARCH] 검색 결과 확인", "action": "verify_detail", "checks": [ "검색 결과 표시 또는 결과 없음 메시지" ], "expected": "검색 기능 동작" }, { "id": 8, "phase": "SEARCH", "name": "[SEARCH] 검색 초기화", "action": "click_if_exists", "target": "button:has-text('초기화'), button:has-text('전체'), button[class*='clear']", "expected": "검색 초기화" }, { "id": 9, "name": "필터 기능 테스트", "action": "click_if_exists", "target": "select, [role='combobox'], button:has-text('임시저장')", "expected": "필터 옵션 표시" }, { "id": 10, "phase": "READ", "name": "[READ] 문서 상세 보기", "action": "click_if_exists", "target": "table tbody tr:first-child td:nth-child(2), table tbody tr:first-child", "expected": { "detail_view": true } }, { "id": 11, "name": "상세 페이지/모달 확인", "action": "verify_element", "checks": [ "문서 상세 정보 표시", "문서번호 또는 제목 표시" ], "expected": "상세 정보 표시" }, { "id": 12, "name": "모달/상세 닫기", "action": "close_modal_if_open", "expected": "모달 닫힘" }, { "id": 13, "name": "페이지네이션 확인", "action": "verify_element", "checks": [ "페이지 번호 또는 이전/다음 버튼" ], "expected": "페이지네이션 표시" }, { "id": 14, "name": "문서 작성 버튼 확인", "action": "verify_element", "checks": [ "문서 작성 또는 신규 작성 버튼 존재" ], "expected": "문서 작성 버튼 확인" } ], "expectedAPIs": [ { "method": "GET", "endpoint": "/api/v1/approvals/drafts", "description": "기안함 목록 조회" }, { "method": "GET", "endpoint": "/api/v1/approvals/drafts/summary", "description": "기안함 통계 카드" } ], "requiredVerifications": [ { "id": 3, "name": "검색/필터", "steps": [6, 7, 8], "criteria": "검색 기능 동작" }, { "id": 5, "name": "목업 페이지 감지", "steps": [2], "criteria": "기안함 목록, 검색 기능, 문서 작성 버튼 존재" } ], "rollbackPlan": { "note": "조회 전용 테스트로 데이터 변경 없음" } }