refactor: 초정밀 시나리오 강화 (1060→1381 steps, 68/68 PASS)

This commit is contained in:
김보곤
2026-02-09 15:05:03 +09:00
parent 15ad1d9758
commit f5dffe2ee7
135 changed files with 23040 additions and 1652 deletions

View File

@@ -88,7 +88,7 @@
],
"steps": [
{
"id": 0,
"id": 1,
"name": "사이드바 메뉴 전체 펼치기",
"description": "모두 펼치기 버튼을 클릭하여 전체 메뉴를 펼친 후 메뉴 탐색 준비",
"actions": [
@@ -111,7 +111,7 @@
]
},
{
"id": 1,
"id": 2,
"name": "2단계 메뉴 진입: 결재관리 > 참조함",
"description": "사이드바를 스크롤하며 결재관리 > 참조함 메뉴를 찾아 클릭",
"actions": [
@@ -176,7 +176,7 @@
]
},
{
"id": 2,
"id": 3,
"name": "데이터 로딩 대기",
"action": "wait",
"duration": 3000,
@@ -188,7 +188,7 @@
]
},
{
"id": 3,
"id": 4,
"name": "통계 카드 데이터 확인",
"action": "verify_element",
"target": "[class*='card'], [class*='stat']",
@@ -199,7 +199,7 @@
]
},
{
"id": 4,
"id": 5,
"name": "탭 전환 - 열람 탭",
"action": "click_if_exists",
"target": "button:has-text('열람')",
@@ -211,7 +211,7 @@
]
},
{
"id": 5,
"id": 6,
"name": "탭 전환 - 미열람 탭",
"action": "click_if_exists",
"target": "button:has-text('미열람')",
@@ -223,7 +223,7 @@
]
},
{
"id": 6,
"id": 7,
"name": "탭 전환 - 전체 탭으로 복귀",
"action": "click_if_exists",
"target": "button:has-text('전체')",
@@ -234,7 +234,7 @@
]
},
{
"id": 7,
"id": 8,
"name": "⚠️ 필수 검증: 검색 기능 - 기안자 검색",
"actions": [
{
@@ -275,7 +275,7 @@
]
},
{
"id": "7-1",
"id": 9,
"name": "검색 결과 데이터 검증",
"description": "검색 결과의 모든 행이 검색어를 포함하는지 확인",
"verify": {
@@ -284,7 +284,7 @@
}
},
{
"id": 8,
"id": 10,
"name": "검색 초기화",
"actions": [
{
@@ -312,7 +312,7 @@
]
},
{
"id": 9,
"id": 11,
"name": "필터 기능 - 문서유형 선택",
"action": "select",
"target": "select, [role='combobox']",
@@ -324,7 +324,7 @@
]
},
{
"id": 10,
"id": 12,
"name": "필터 초기화",
"action": "select",
"target": "select, [role='combobox']",
@@ -334,7 +334,7 @@
]
},
{
"id": 11,
"id": 13,
"name": "정렬 기능 - 오래된순",
"action": "click_if_exists",
"target": "select, [role='combobox']",
@@ -345,7 +345,7 @@
]
},
{
"id": 12,
"id": 14,
"name": "정렬 초기화",
"action": "click_if_exists",
"target": "select, [role='combobox']",
@@ -354,7 +354,7 @@
]
},
{
"id": 13,
"id": 15,
"name": "체크박스 - 단일 선택",
"action": "click_if_exists",
"target": "table tbody tr:first-child input[type='checkbox']",
@@ -366,7 +366,7 @@
]
},
{
"id": 14,
"id": 16,
"name": "체크박스 - 선택 해제",
"action": "click_if_exists",
"target": "table tbody tr:first-child input[type='checkbox']",
@@ -376,7 +376,7 @@
]
},
{
"id": 15,
"id": 17,
"name": "체크박스 - 다중 선택",
"action": "click_if_exists",
"target": "table tbody tr input[type='checkbox']",
@@ -386,7 +386,7 @@
]
},
{
"id": 16,
"id": 18,
"name": "문서 상세 모달 - 열기",
"action": "click_if_exists",
"target": "table tbody tr:first-child td:nth-child(2)",
@@ -402,7 +402,7 @@
]
},
{
"id": "16-pdf-1",
"id": 19,
"name": "⚠️ 필수 검증: PDF 다운로드 전 모달 스크린샷",
"description": "PDF 생성 전 모달 상태를 스크린샷으로 캡처하여 CSS 문제 감지용 기준 이미지 확보",
"prerequisite": "step-16의 문서 상세 모달이 열려있는 상태에서 실행",
@@ -422,7 +422,7 @@
}
},
{
"id": "16-pdf-2",
"id": 20,
"name": "⚠️ 필수 검증: PDF 다운로드 실행 및 파일 보관",
"description": "PDF 다운로드 후 파일을 지정 폴더에 보관하여 수동 검증 가능하게 함",
"actions": [
@@ -471,7 +471,7 @@
}
},
{
"id": "16-pdf-3",
"id": 21,
"name": "⚠️ PDF 파일 유효성 검증",
"description": "다운로드된 PDF 파일의 기본 유효성 검사",
"actions": [
@@ -491,7 +491,7 @@
}
},
{
"id": "16-pdf-4",
"id": 22,
"name": "📋 PDF 스타일 수동 확인 체크리스트",
"type": "manualVerification",
"description": "개발자가 다운로드된 PDF를 열어 시각적으로 확인해야 하는 항목",
@@ -557,7 +557,7 @@
}
},
{
"id": 17,
"id": 23,
"name": "문서 상세 모달 - 닫기",
"action": "close_modal",
"verification": [
@@ -567,7 +567,7 @@
]
},
{
"id": 18,
"id": 24,
"name": "미열람 탭으로 이동",
"action": "click_if_exists",
"target": "button:has-text('미열람')",
@@ -577,7 +577,7 @@
]
},
{
"id": 19,
"id": 25,
"name": "열람 처리 - 문서 선택",
"action": "click_if_exists",
"target": "table tbody tr:first-child input[type='checkbox']",
@@ -587,7 +587,7 @@
]
},
{
"id": 20,
"id": 26,
"name": "열람 처리 - 확인 다이얼로그",
"action": "click_if_exists",
"target": "button:has-text('열람')",
@@ -600,7 +600,7 @@
]
},
{
"id": 21,
"id": 27,
"name": "열람 처리 - URL 안정성 검증 (⚠️ 필수 검증 #2)",
"action": "save_url",
"verification": [
@@ -628,7 +628,7 @@
}
},
{
"id": 22,
"id": 28,
"name": "열람 처리 후 데이터 검증",
"action": "verify_detail",
"verification": [
@@ -638,7 +638,7 @@
]
},
{
"id": 23,
"id": 29,
"name": "열람 탭으로 이동하여 검증",
"action": "click_if_exists",
"target": "button:has-text('열람')",
@@ -648,7 +648,7 @@
]
},
{
"id": 24,
"id": 30,
"name": "미열람 처리 - 문서 선택",
"action": "click_if_exists",
"target": "table tbody tr:first-child input[type='checkbox']",
@@ -658,7 +658,7 @@
]
},
{
"id": 25,
"id": 31,
"name": "미열람 처리 - 확인 다이얼로그",
"action": "click_if_exists",
"target": "button:has-text('미열람')",
@@ -671,7 +671,7 @@
]
},
{
"id": 26,
"id": 32,
"name": "미열람 처리 - URL 안정성 검증 (⚠️ 필수 검증 #2)",
"action": "save_url",
"verification": [
@@ -698,7 +698,7 @@
}
},
{
"id": 27,
"id": 33,
"name": "미열람 처리 후 데이터 검증",
"action": "verify_detail",
"verification": [
@@ -708,7 +708,7 @@
]
},
{
"id": 28,
"id": 34,
"name": "일괄 열람 처리 - 다중 선택",
"action": "click_if_exists",
"target": "button:has-text('미열람')",
@@ -718,7 +718,7 @@
]
},
{
"id": 29,
"id": 35,
"name": "일괄 열람 처리 - 실행",
"action": "click_if_exists",
"target": "button:has-text('열람')",
@@ -732,7 +732,7 @@
]
},
{
"id": 30,
"id": 36,
"name": "날짜 범위 선택기 테스트",
"action": "click_if_exists",
"target": "button:has-text('당월')",
@@ -742,7 +742,7 @@
]
},
{
"id": 31,
"id": 37,
"name": "페이지네이션 테스트",
"action": "click_if_exists",
"target": "button:has-text('2')",
@@ -755,7 +755,7 @@
"conditional": "문서 개수가 20개 이상인 경우에만 실행"
},
{
"id": 32,
"id": 38,
"name": "Console 로그 확인",
"action": "verify_element",
"target": "body",
@@ -766,7 +766,7 @@
]
},
{
"id": 33,
"id": 39,
"name": "최종 통계 확인",
"action": "click_if_exists",
"target": "button:has-text('전체')",
@@ -776,6 +776,12 @@
"전체 = 열람 + 미열람 수식 성립",
"스크린샷 촬영하여 최종 상태 저장"
]
},
{
"id": 40,
"name": "콘솔 에러 확인",
"action": "verify_element",
"target": "body"
}
],
"mandatoryVerifications": [