fix: 셀렉터 불일치 및 메뉴 경로 수정 (item-management, inventory-status, receiving-management, reference-box)

This commit is contained in:
2026-03-07 22:20:01 +09:00
parent f47e1e70d8
commit bb9c107727
5 changed files with 10 additions and 125 deletions

View File

@@ -176,7 +176,7 @@
"id": 8,
"name": "⚠️ 필수 검증: 검색 기능 - 기안자 검색",
"action": "evaluate",
"script": "(async () => { const beforeCount = document.querySelectorAll('table tbody tr').length; const inp = document.querySelector('input[type=\"search\"], input[placeholder*=\"검색\"]'); if(inp){ inp.click(); await new Promise(r=>setTimeout(r,1000)); } const afterCount = document.querySelectorAll('table tbody tr').length; return JSON.stringify({ beforeSearchCount: beforeCount, afterSearchCount: afterCount, inputFound: !!inp }); })()",
"script": "(async () => { const beforeCount = document.querySelectorAll('table tbody tr').length; const inp = document.querySelector('input[type=\"search\"], input[placeholder*=\"검색\"], input[placeholder*=\"제목\"], input[placeholder*=\"기안자\"]'); if(inp){ const nativeSetter = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value')?.set; if(nativeSetter) nativeSetter.call(inp, '김철수'); else inp.value = '김철수'; inp.dispatchEvent(new Event('input', {bubbles:true})); inp.dispatchEvent(new Event('change', {bubbles:true})); await new Promise(r=>setTimeout(r,1500)); } const afterCount = document.querySelectorAll('table tbody tr').length; return JSON.stringify({ beforeSearchCount: beforeCount, afterSearchCount: afterCount, inputFound: !!inp, searchValue: inp?.value }); })()",
"verify": {
"searchApplied": true,
"tableContains": "김철수",
@@ -206,7 +206,7 @@
"id": 10,
"name": "검색 초기화",
"action": "evaluate",
"script": "(async () => { const inp = document.querySelector('input[type=\"search\"], input[placeholder*=\"검색\"]'); if(inp){ inp.click(); await new Promise(r=>setTimeout(r,500)); } const afterClearCount = document.querySelectorAll('table tbody tr').length; return JSON.stringify({ afterClearCount: afterClearCount, inputFound: !!inp }); })()",
"script": "(async () => { const inp = document.querySelector('input[type=\"search\"], input[placeholder*=\"검색\"], input[placeholder*=\"제목\"], input[placeholder*=\"기안자\"]'); if(inp){ const nativeSetter = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value')?.set; if(nativeSetter) nativeSetter.call(inp, ''); else inp.value = ''; inp.dispatchEvent(new Event('input', {bubbles:true})); inp.dispatchEvent(new Event('change', {bubbles:true})); await new Promise(r=>setTimeout(r,1000)); } const afterClearCount = document.querySelectorAll('table tbody tr').length; return JSON.stringify({ afterClearCount: afterClearCount, inputFound: !!inp }); })()",
"verify": {
"dataRestored": "afterClearCount should equal beforeSearchCount"
},