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>
2026-02-03 08:02:00 +09:00
|
|
|
{
|
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
|
|
|
"enabled": true,
|
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>
2026-02-03 08:02:00 +09:00
|
|
|
"id": "quality-inspection",
|
|
|
|
|
"name": "제품검사관리 테스트",
|
2026-03-03 22:20:51 +09:00
|
|
|
"version": "2.0.0",
|
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>
2026-02-03 08:02:00 +09:00
|
|
|
"screenshotPolicy": {
|
2026-03-03 22:20:51 +09:00
|
|
|
"captureOnFail": true,
|
|
|
|
|
"captureOnPass": false
|
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>
2026-02-03 08:02:00 +09:00
|
|
|
},
|
2026-03-03 23:35:41 +09:00
|
|
|
"description": "품질관리 > 제품검사관리 메뉴의 페이지 로드, 테이블 구조, 검색/필터, 상세 조회 검증 (READ-only, CRUD 제외 - API 필수 필드 매핑 미완)",
|
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>
2026-02-03 08:02:00 +09:00
|
|
|
"baseUrl": "https://dev.codebridge-x.com",
|
|
|
|
|
"menuNavigation": {
|
|
|
|
|
"level1": "품질관리",
|
|
|
|
|
"level2": "제품검사관리",
|
refactor: 품질검사, 설정관리 시나리오 A/B등급으로 개선
개선된 시나리오:
- quality-inspection.json: C→A (14→18 steps, CRUD 전체)
- settings-bank-account.json: C→A (4→18 steps, 계좌 CRUD)
- settings-position.json: C→A (4→18 steps, 직책 CRUD)
- settings-rank.json: C→A (4→18 steps, 직급 CRUD)
- accounting-receivable.json: C→B (3→15 steps, 조회/필터/엑셀)
- settings-vacation-policy.json: C→B (4→12 steps, 정책 수정)
- settings-work-schedule.json: C→B (4→12 steps, 일정 수정)
- settings-attendance.json: C→B (4→12 steps, 설정 수정)
- inspection-management.json: 메뉴 플래그 추가
공통 개선:
- searchWithinParent, closeOtherMenus 플래그 추가
- testData, expectedAPIs, requiredVerifications 추가
- rollbackPlan 추가
2026-02-03 13:37:06 +09:00
|
|
|
"expectedUrl": "/quality/inspections",
|
|
|
|
|
"searchWithinParent": true,
|
|
|
|
|
"closeOtherMenus": true
|
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>
2026-02-03 08:02:00 +09:00
|
|
|
},
|
2026-03-03 22:20:51 +09:00
|
|
|
"auth": { "username": "TestUser5", "password": "password123!" },
|
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>
2026-02-03 08:02:00 +09:00
|
|
|
"steps": [
|
|
|
|
|
{
|
|
|
|
|
"id": 1,
|
|
|
|
|
"name": "메뉴 진입: 품질관리 > 제품검사관리",
|
|
|
|
|
"action": "menu_navigate",
|
|
|
|
|
"level1": "품질관리",
|
|
|
|
|
"level2": "제품검사관리",
|
2026-03-03 22:20:51 +09:00
|
|
|
"expected": { "url_contains": "/quality/inspections" }
|
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>
2026-02-03 08:02:00 +09:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 2,
|
2026-03-03 22:20:51 +09:00
|
|
|
"name": "페이지 로드 대기",
|
|
|
|
|
"action": "wait",
|
|
|
|
|
"timeout": 3000
|
2026-02-09 15:05:03 +09:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 3,
|
2026-03-03 22:20:51 +09:00
|
|
|
"name": "URL 검증",
|
|
|
|
|
"action": "verify_url",
|
|
|
|
|
"expected": { "url_contains": "/quality/inspections" }
|
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>
2026-02-03 08:02:00 +09:00
|
|
|
},
|
|
|
|
|
{
|
2026-02-09 15:05:03 +09:00
|
|
|
"id": 4,
|
2026-03-03 22:20:51 +09:00
|
|
|
"name": "목업 감지",
|
|
|
|
|
"action": "verify_not_mockup",
|
|
|
|
|
"checks": ["제품검사 목록 표시", "등록 버튼 존재"]
|
2026-02-09 15:05:03 +09:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 5,
|
2026-03-03 22:20:51 +09:00
|
|
|
"name": "테이블 로드 대기",
|
|
|
|
|
"action": "wait_for_table",
|
2026-03-03 23:35:41 +09:00
|
|
|
"timeout": 10000
|
refactor: 품질검사, 설정관리 시나리오 A/B등급으로 개선
개선된 시나리오:
- quality-inspection.json: C→A (14→18 steps, CRUD 전체)
- settings-bank-account.json: C→A (4→18 steps, 계좌 CRUD)
- settings-position.json: C→A (4→18 steps, 직책 CRUD)
- settings-rank.json: C→A (4→18 steps, 직급 CRUD)
- accounting-receivable.json: C→B (3→15 steps, 조회/필터/엑셀)
- settings-vacation-policy.json: C→B (4→12 steps, 정책 수정)
- settings-work-schedule.json: C→B (4→12 steps, 일정 수정)
- settings-attendance.json: C→B (4→12 steps, 설정 수정)
- inspection-management.json: 메뉴 플래그 추가
공통 개선:
- searchWithinParent, closeOtherMenus 플래그 추가
- testData, expectedAPIs, requiredVerifications 추가
- rollbackPlan 추가
2026-02-03 13:37:06 +09:00
|
|
|
},
|
|
|
|
|
{
|
2026-02-09 15:05:03 +09:00
|
|
|
"id": 6,
|
2026-03-03 22:20:51 +09:00
|
|
|
"name": "통계 카드 확인",
|
2026-02-09 15:05:03 +09:00
|
|
|
"action": "evaluate",
|
2026-03-03 23:35:41 +09:00
|
|
|
"script": "(() => { const cards = document.querySelectorAll('[class*=\"card\"], [class*=\"Card\"], [class*=\"stat\"], [class*=\"Stat\"]'); const texts = Array.from(cards).map(c => c.innerText?.substring(0, 40)).filter(Boolean); return texts.length > 0 ? 'pass: Stats cards=' + texts.length : 'warn: No stat cards'; })()"
|
2026-02-09 15:05:03 +09:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 7,
|
2026-03-03 23:35:41 +09:00
|
|
|
"name": "테이블 컬럼 구조 확인",
|
|
|
|
|
"action": "evaluate",
|
|
|
|
|
"script": "(() => { const ths = Array.from(document.querySelectorAll('table thead th, table th, [role=\"columnheader\"]')); const cols = ths.map(t => t.innerText?.trim()).filter(Boolean); return cols.length > 0 ? 'pass: columns=' + cols.length + ' [' + cols.join(', ') + ']' : 'warn: No table headers'; })()"
|
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>
2026-02-03 08:02:00 +09:00
|
|
|
},
|
|
|
|
|
{
|
2026-02-09 15:05:03 +09:00
|
|
|
"id": 8,
|
2026-03-03 23:35:41 +09:00
|
|
|
"name": "테이블 데이터 행 확인",
|
2026-03-03 22:20:51 +09:00
|
|
|
"action": "evaluate",
|
2026-03-03 23:35:41 +09:00
|
|
|
"script": "(() => { const rows = document.querySelectorAll('table tbody tr'); const visRows = Array.from(rows).filter(r => r.offsetParent !== null); return visRows.length > 0 ? 'pass: ' + visRows.length + ' rows in table' : 'warn: No data rows (empty table)'; })()"
|
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>
2026-02-03 08:02:00 +09:00
|
|
|
},
|
|
|
|
|
{
|
2026-02-09 15:05:03 +09:00
|
|
|
"id": 9,
|
2026-03-03 23:35:41 +09:00
|
|
|
"name": "필터/검색 UI 확인",
|
|
|
|
|
"action": "evaluate",
|
|
|
|
|
"script": "(() => { const R = {}; const searchInputs = document.querySelectorAll('input[type=\"search\"], input[placeholder*=\"검색\"], input[placeholder*=\"조회\"]'); R.searchInputs = searchInputs.length; const selects = document.querySelectorAll('select, [role=\"combobox\"], button[class*=\"Select\"]'); R.filters = selects.length; const tabs = document.querySelectorAll('button[role=\"tab\"]'); R.tabs = tabs.length; return 'pass: search=' + R.searchInputs + ' filters=' + R.filters + ' tabs=' + R.tabs; })()"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 10,
|
|
|
|
|
"name": "[READ] 첫 번째 행 클릭 (상세 보기)",
|
2026-03-03 22:20:51 +09:00
|
|
|
"phase": "READ",
|
|
|
|
|
"action": "click_first_row"
|
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>
2026-02-03 08:02:00 +09:00
|
|
|
},
|
|
|
|
|
{
|
2026-03-03 23:35:41 +09:00
|
|
|
"id": 11,
|
2026-03-03 22:20:51 +09:00
|
|
|
"name": "[READ] 상세 대기",
|
|
|
|
|
"phase": "READ",
|
|
|
|
|
"action": "wait",
|
|
|
|
|
"timeout": 2000
|
refactor: 품질검사, 설정관리 시나리오 A/B등급으로 개선
개선된 시나리오:
- quality-inspection.json: C→A (14→18 steps, CRUD 전체)
- settings-bank-account.json: C→A (4→18 steps, 계좌 CRUD)
- settings-position.json: C→A (4→18 steps, 직책 CRUD)
- settings-rank.json: C→A (4→18 steps, 직급 CRUD)
- accounting-receivable.json: C→B (3→15 steps, 조회/필터/엑셀)
- settings-vacation-policy.json: C→B (4→12 steps, 정책 수정)
- settings-work-schedule.json: C→B (4→12 steps, 일정 수정)
- settings-attendance.json: C→B (4→12 steps, 설정 수정)
- inspection-management.json: 메뉴 플래그 추가
공통 개선:
- searchWithinParent, closeOtherMenus 플래그 추가
- testData, expectedAPIs, requiredVerifications 추가
- rollbackPlan 추가
2026-02-03 13:37:06 +09:00
|
|
|
},
|
|
|
|
|
{
|
2026-03-03 23:35:41 +09:00
|
|
|
"id": 12,
|
2026-03-03 22:20:51 +09:00
|
|
|
"name": "[READ] 상세 다이얼로그/페이지 확인",
|
|
|
|
|
"phase": "READ",
|
|
|
|
|
"action": "evaluate",
|
2026-03-03 23:35:41 +09:00
|
|
|
"script": "(async () => { const R = { phase: 'DETAIL_CHECK' }; const dlg = document.querySelector('[role=\"dialog\"]'); const isVis = el => !!el && el.getBoundingClientRect().width > 0; if (isVis(dlg)) { R.type = 'dialog'; R.text = dlg.innerText?.substring(0, 200); R.hasFields = dlg.querySelectorAll('input, textarea, select, label, dt, [class*=\"field\"]').length; R.ok = true; R.info = 'pass: 상세 다이얼로그 열림 (fields=' + R.hasFields + ')'; } else if (window.location.href.includes('/inspections/')) { R.type = 'page'; R.text = document.body.innerText?.substring(0, 200); R.ok = true; R.info = 'pass: 상세 페이지 이동'; } else { R.ok = true; R.info = 'warn: 상세 화면 미확인 (행 클릭 반응 없음)'; } return JSON.stringify(R); })()",
|
|
|
|
|
"timeout": 5000
|
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>
2026-02-03 08:02:00 +09:00
|
|
|
},
|
|
|
|
|
{
|
2026-02-09 15:05:03 +09:00
|
|
|
"id": 13,
|
2026-03-03 23:35:41 +09:00
|
|
|
"name": "[READ] 상세 필드 확인",
|
|
|
|
|
"phase": "READ",
|
2026-03-03 22:20:51 +09:00
|
|
|
"action": "evaluate",
|
2026-03-03 23:35:41 +09:00
|
|
|
"script": "(() => { const R = { phase: 'FIELD_CHECK' }; const dlg = document.querySelector('[role=\"dialog\"]'); const scope = (dlg && dlg.getBoundingClientRect().width > 0) ? dlg : document; const labels = Array.from(scope.querySelectorAll('label, dt, [class*=\"label\"], [class*=\"Label\"]')); const fields = labels.map(l => l.innerText?.trim()).filter(t => t && t.length < 30); R.fieldCount = fields.length; R.fields = fields.slice(0, 15); R.ok = true; R.info = fields.length > 0 ? 'pass: ' + fields.length + ' fields found' : 'warn: no labeled fields'; return JSON.stringify(R); })()"
|
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>
2026-02-03 08:02:00 +09:00
|
|
|
},
|
|
|
|
|
{
|
2026-02-09 15:05:03 +09:00
|
|
|
"id": 14,
|
2026-03-03 23:35:41 +09:00
|
|
|
"name": "[READ] 등록 버튼 존재 확인 (클릭하지 않음)",
|
|
|
|
|
"phase": "READ",
|
2026-03-03 22:20:51 +09:00
|
|
|
"action": "evaluate",
|
2026-03-03 23:35:41 +09:00
|
|
|
"script": "(() => { const btns = Array.from(document.querySelectorAll('button')).filter(b => b.offsetParent !== null); const createBtn = btns.find(b => /등록|추가|신규/.test(b.innerText?.trim())); const editBtn = btns.find(b => /수정|편집/.test(b.innerText?.trim())); const delBtn = btns.find(b => /삭제/.test(b.innerText?.trim())); return 'pass: 등록=' + (createBtn ? '있음' : '없음') + ' 수정=' + (editBtn ? '있음' : '없음') + ' 삭제=' + (delBtn ? '있음' : '없음'); })()"
|
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>
2026-02-03 08:02:00 +09:00
|
|
|
},
|
|
|
|
|
{
|
2026-02-09 15:05:03 +09:00
|
|
|
"id": 15,
|
2026-03-03 23:35:41 +09:00
|
|
|
"name": "[READ] 모달/다이얼로그 닫기",
|
|
|
|
|
"phase": "READ",
|
|
|
|
|
"action": "close_modal_if_open"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 16,
|
2026-03-03 22:20:51 +09:00
|
|
|
"name": "페이지네이션 확인",
|
|
|
|
|
"action": "evaluate",
|
2026-03-03 23:35:41 +09:00
|
|
|
"script": "(() => { const p = document.querySelector('[class*=\"pagination\"], [class*=\"Pagination\"], nav[aria-label*=\"page\"]'); const pageButtons = Array.from(document.querySelectorAll('button')).filter(b => /^\\d+$/.test(b.innerText?.trim())); return p ? 'pass: Pagination found' : pageButtons.length > 0 ? 'pass: Page buttons=' + pageButtons.length : 'No pagination (ok)'; })()"
|
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>
2026-02-03 08:02:00 +09:00
|
|
|
},
|
|
|
|
|
{
|
2026-03-03 23:35:41 +09:00
|
|
|
"id": 17,
|
2026-03-03 22:20:51 +09:00
|
|
|
"name": "[SUMMARY] API 호출 통계",
|
|
|
|
|
"action": "evaluate",
|
2026-03-04 11:42:23 +09:00
|
|
|
"script": "(() => { const logs = window.__E2E__ ? window.__E2E__.getApiLogs().logs : ((window.__E2E__?window.__E2E__.getApiLogs().logs:[])); const inspApi = logs.filter(l => l.url?.includes('inspection')); const failedApis = logs.filter(l => l.status >= 400); return 'pass: API total=' + logs.length + ' inspection=' + inspApi.length + ' failed=' + failedApis.length; })()"
|
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>
2026-02-03 08:02:00 +09:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expectedAPIs": [
|
2026-03-03 23:35:41 +09:00
|
|
|
{ "method": "GET", "endpoint": "/api/v1/inspections", "description": "제품검사 목록 조회" },
|
|
|
|
|
{ "method": "GET", "endpoint": "/api/v1/inspections/stats", "description": "통계 조회" }
|
refactor: 품질검사, 설정관리 시나리오 A/B등급으로 개선
개선된 시나리오:
- quality-inspection.json: C→A (14→18 steps, CRUD 전체)
- settings-bank-account.json: C→A (4→18 steps, 계좌 CRUD)
- settings-position.json: C→A (4→18 steps, 직책 CRUD)
- settings-rank.json: C→A (4→18 steps, 직급 CRUD)
- accounting-receivable.json: C→B (3→15 steps, 조회/필터/엑셀)
- settings-vacation-policy.json: C→B (4→12 steps, 정책 수정)
- settings-work-schedule.json: C→B (4→12 steps, 일정 수정)
- settings-attendance.json: C→B (4→12 steps, 설정 수정)
- inspection-management.json: 메뉴 플래그 추가
공통 개선:
- searchWithinParent, closeOtherMenus 플래그 추가
- testData, expectedAPIs, requiredVerifications 추가
- rollbackPlan 추가
2026-02-03 13:37:06 +09:00
|
|
|
],
|
2026-03-03 22:20:51 +09:00
|
|
|
"knownIssues": [
|
refactor: 품질검사, 설정관리 시나리오 A/B등급으로 개선
개선된 시나리오:
- quality-inspection.json: C→A (14→18 steps, CRUD 전체)
- settings-bank-account.json: C→A (4→18 steps, 계좌 CRUD)
- settings-position.json: C→A (4→18 steps, 직책 CRUD)
- settings-rank.json: C→A (4→18 steps, 직급 CRUD)
- accounting-receivable.json: C→B (3→15 steps, 조회/필터/엑셀)
- settings-vacation-policy.json: C→B (4→12 steps, 정책 수정)
- settings-work-schedule.json: C→B (4→12 steps, 일정 수정)
- settings-attendance.json: C→B (4→12 steps, 설정 수정)
- inspection-management.json: 메뉴 플래그 추가
공통 개선:
- searchWithinParent, closeOtherMenus 플래그 추가
- testData, expectedAPIs, requiredVerifications 추가
- rollbackPlan 추가
2026-02-03 13:37:06 +09:00
|
|
|
{
|
2026-03-03 23:35:41 +09:00
|
|
|
"issue": "GET /api/v1/inspections/calendar → 404",
|
|
|
|
|
"reason": "백엔드 라우트 미구현. 프론트엔드가 페이지 로드 시 자동 호출하지만 USE_MOCK_FALLBACK으로 동작",
|
|
|
|
|
"severity": "low",
|
|
|
|
|
"action": "백엔드에 calendar 엔드포인트 구현 필요"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"issue": "CRUD 테스트 미포함",
|
|
|
|
|
"reason": "API 필수 필드(품목코드, 검사유형 등)와 프론트엔드 폼 매핑이 복잡하여 READ-only로 제한",
|
|
|
|
|
"severity": "info",
|
|
|
|
|
"action": "폼 필드 분석 후 CRUD 시나리오 별도 작성 가능"
|
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>
2026-02-03 08:02:00 +09:00
|
|
|
}
|
2026-03-03 23:35:41 +09:00
|
|
|
],
|
|
|
|
|
"rollbackPlan": {
|
|
|
|
|
"note": "READ-only 테스트. 데이터 변경 없음."
|
|
|
|
|
}
|
2026-02-09 15:05:03 +09:00
|
|
|
}
|