{ "enabled": true, "id": "search-function-audit-acc1", "name": "검색 기능 감사: 회계관리 (1/6)", "description": "회계관리 모듈 전반의 검색/필터 기능 동작 검증", "baseUrl": "https://dev.codebridge-x.com", "screenshotPolicy": { "onErrorOnly": true, "captureOn": [ "error", "fail", "timeout" ] }, "menuNavigation": { "level1": "회계관리", "level2": "거래처관리", "searchWithinParent": true, "closeOtherMenus": true }, "auth": { "username": "TestUser5", "password": "password123!" }, "steps": [ { "id": 1, "name": "[검색감사] 거래처관리 페이지 대기", "action": "wait", "duration": 2000 }, { "id": 2, "name": "[검색감사] 거래처관리", "action": "evaluate", "script": "(async()=>{const R={p:location.pathname};const ss=['input[type=\"search\"]','input[placeholder*=\"검색\"]','input[placeholder*=\"Search\"]','input[role=\"searchbox\"]','[class*=\"search\"] input'];let si=null;for(const s of ss){si=document.querySelector(s);if(si)break;}if(!si) si=Array.from(document.querySelectorAll('input[type=\"text\"],input:not([type])')).find(i=>/검색|search|조회/i.test(i.placeholder||''));R.hasSearch=!!si;R.searchPlaceholder=si?(si.placeholder||'').substring(0,40):'';R.filters=document.querySelectorAll('button[role=\"combobox\"],select').length;R.tabs=document.querySelectorAll('[role=\"tab\"],[role=\"tablist\"] button').length;const rc=()=>document.querySelectorAll('table tbody tr,[role=\"row\"]').length;R.rows=rc();R.hasTable=R.rows>0||!!document.querySelector('table,[role=\"grid\"]');if(si&&R.rows>0){const ns=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,'value')?.set;if(ns)ns.call(si,'zzz_no_match_e2e');else si.value='zzz_no_match_e2e';si.dispatchEvent(new Event('input',{bubbles:true}));si.dispatchEvent(new Event('change',{bubbles:true}));si.dispatchEvent(new KeyboardEvent('keydown',{key:'Enter',keyCode:13,bubbles:true}));const sb=document.querySelector('button[class*=\"search\"],button[aria-label*=\"검색\"]');if(sb)sb.click();await new Promise(w=>setTimeout(w,1500));R.afterRows=rc();R.searchWorked=R.afterRowssetTimeout(w,800));}return JSON.stringify(R);})()" }, { "id": 3, "name": "▶ 회계관리 > 입금관리 이동", "action": "menu_navigate", "level1": "회계관리", "level2": "입금관리" }, { "id": 4, "name": "[검색감사] 입금관리", "action": "evaluate", "script": "(async()=>{const R={p:location.pathname};const ss=['input[type=\"search\"]','input[placeholder*=\"검색\"]','input[placeholder*=\"Search\"]','input[role=\"searchbox\"]','[class*=\"search\"] input'];let si=null;for(const s of ss){si=document.querySelector(s);if(si)break;}if(!si) si=Array.from(document.querySelectorAll('input[type=\"text\"],input:not([type])')).find(i=>/검색|search|조회/i.test(i.placeholder||''));R.hasSearch=!!si;R.searchPlaceholder=si?(si.placeholder||'').substring(0,40):'';R.filters=document.querySelectorAll('button[role=\"combobox\"],select').length;R.tabs=document.querySelectorAll('[role=\"tab\"],[role=\"tablist\"] button').length;const rc=()=>document.querySelectorAll('table tbody tr,[role=\"row\"]').length;R.rows=rc();R.hasTable=R.rows>0||!!document.querySelector('table,[role=\"grid\"]');if(si&&R.rows>0){const ns=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,'value')?.set;if(ns)ns.call(si,'zzz_no_match_e2e');else si.value='zzz_no_match_e2e';si.dispatchEvent(new Event('input',{bubbles:true}));si.dispatchEvent(new Event('change',{bubbles:true}));si.dispatchEvent(new KeyboardEvent('keydown',{key:'Enter',keyCode:13,bubbles:true}));const sb=document.querySelector('button[class*=\"search\"],button[aria-label*=\"검색\"]');if(sb)sb.click();await new Promise(w=>setTimeout(w,1500));R.afterRows=rc();R.searchWorked=R.afterRowssetTimeout(w,800));}return JSON.stringify(R);})()" }, { "id": 5, "name": "▶ 회계관리 > 출금관리 이동", "action": "menu_navigate", "level1": "회계관리", "level2": "출금관리" }, { "id": 6, "name": "[검색감사] 출금관리", "action": "evaluate", "script": "(async()=>{const R={p:location.pathname};const ss=['input[type=\"search\"]','input[placeholder*=\"검색\"]','input[placeholder*=\"Search\"]','input[role=\"searchbox\"]','[class*=\"search\"] input'];let si=null;for(const s of ss){si=document.querySelector(s);if(si)break;}if(!si) si=Array.from(document.querySelectorAll('input[type=\"text\"],input:not([type])')).find(i=>/검색|search|조회/i.test(i.placeholder||''));R.hasSearch=!!si;R.searchPlaceholder=si?(si.placeholder||'').substring(0,40):'';R.filters=document.querySelectorAll('button[role=\"combobox\"],select').length;R.tabs=document.querySelectorAll('[role=\"tab\"],[role=\"tablist\"] button').length;const rc=()=>document.querySelectorAll('table tbody tr,[role=\"row\"]').length;R.rows=rc();R.hasTable=R.rows>0||!!document.querySelector('table,[role=\"grid\"]');if(si&&R.rows>0){const ns=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,'value')?.set;if(ns)ns.call(si,'zzz_no_match_e2e');else si.value='zzz_no_match_e2e';si.dispatchEvent(new Event('input',{bubbles:true}));si.dispatchEvent(new Event('change',{bubbles:true}));si.dispatchEvent(new KeyboardEvent('keydown',{key:'Enter',keyCode:13,bubbles:true}));const sb=document.querySelector('button[class*=\"search\"],button[aria-label*=\"검색\"]');if(sb)sb.click();await new Promise(w=>setTimeout(w,1500));R.afterRows=rc();R.searchWorked=R.afterRowssetTimeout(w,800));}return JSON.stringify(R);})()" }, { "id": 7, "name": "▶ 회계관리 > 어음관리 이동", "action": "menu_navigate", "level1": "회계관리", "level2": "어음관리" }, { "id": 8, "name": "[검색감사] 어음관리", "action": "evaluate", "script": "(async()=>{const R={p:location.pathname};const ss=['input[type=\"search\"]','input[placeholder*=\"검색\"]','input[placeholder*=\"Search\"]','input[role=\"searchbox\"]','[class*=\"search\"] input'];let si=null;for(const s of ss){si=document.querySelector(s);if(si)break;}if(!si) si=Array.from(document.querySelectorAll('input[type=\"text\"],input:not([type])')).find(i=>/검색|search|조회/i.test(i.placeholder||''));R.hasSearch=!!si;R.searchPlaceholder=si?(si.placeholder||'').substring(0,40):'';R.filters=document.querySelectorAll('button[role=\"combobox\"],select').length;R.tabs=document.querySelectorAll('[role=\"tab\"],[role=\"tablist\"] button').length;const rc=()=>document.querySelectorAll('table tbody tr,[role=\"row\"]').length;R.rows=rc();R.hasTable=R.rows>0||!!document.querySelector('table,[role=\"grid\"]');if(si&&R.rows>0){const ns=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,'value')?.set;if(ns)ns.call(si,'zzz_no_match_e2e');else si.value='zzz_no_match_e2e';si.dispatchEvent(new Event('input',{bubbles:true}));si.dispatchEvent(new Event('change',{bubbles:true}));si.dispatchEvent(new KeyboardEvent('keydown',{key:'Enter',keyCode:13,bubbles:true}));const sb=document.querySelector('button[class*=\"search\"],button[aria-label*=\"검색\"]');if(sb)sb.click();await new Promise(w=>setTimeout(w,1500));R.afterRows=rc();R.searchWorked=R.afterRowssetTimeout(w,800));}return JSON.stringify(R);})()" }, { "id": 9, "name": "▶ 회계관리 > 악성채권추심관리 이동", "action": "menu_navigate", "level1": "회계관리", "level2": "악성채권추심관리" }, { "id": 10, "name": "[검색감사] 악성채권추심관리", "action": "evaluate", "script": "(async()=>{const R={p:location.pathname};const ss=['input[type=\"search\"]','input[placeholder*=\"검색\"]','input[placeholder*=\"Search\"]','input[role=\"searchbox\"]','[class*=\"search\"] input'];let si=null;for(const s of ss){si=document.querySelector(s);if(si)break;}if(!si) si=Array.from(document.querySelectorAll('input[type=\"text\"],input:not([type])')).find(i=>/검색|search|조회/i.test(i.placeholder||''));R.hasSearch=!!si;R.searchPlaceholder=si?(si.placeholder||'').substring(0,40):'';R.filters=document.querySelectorAll('button[role=\"combobox\"],select').length;R.tabs=document.querySelectorAll('[role=\"tab\"],[role=\"tablist\"] button').length;const rc=()=>document.querySelectorAll('table tbody tr,[role=\"row\"]').length;R.rows=rc();R.hasTable=R.rows>0||!!document.querySelector('table,[role=\"grid\"]');if(si&&R.rows>0){const ns=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,'value')?.set;if(ns)ns.call(si,'zzz_no_match_e2e');else si.value='zzz_no_match_e2e';si.dispatchEvent(new Event('input',{bubbles:true}));si.dispatchEvent(new Event('change',{bubbles:true}));si.dispatchEvent(new KeyboardEvent('keydown',{key:'Enter',keyCode:13,bubbles:true}));const sb=document.querySelector('button[class*=\"search\"],button[aria-label*=\"검색\"]');if(sb)sb.click();await new Promise(w=>setTimeout(w,1500));R.afterRows=rc();R.searchWorked=R.afterRowssetTimeout(w,800));}return JSON.stringify(R);})()" }, { "id": 11, "name": "▶ 회계관리 > 입출금계좌조회 이동", "action": "menu_navigate", "level1": "회계관리", "level2": "입출금계좌조회" }, { "id": 12, "name": "[검색감사] 입출금계좌조회", "action": "evaluate", "script": "(async()=>{const R={p:location.pathname};const ss=['input[type=\"search\"]','input[placeholder*=\"검색\"]','input[placeholder*=\"Search\"]','input[role=\"searchbox\"]','[class*=\"search\"] input'];let si=null;for(const s of ss){si=document.querySelector(s);if(si)break;}if(!si) si=Array.from(document.querySelectorAll('input[type=\"text\"],input:not([type])')).find(i=>/검색|search|조회/i.test(i.placeholder||''));R.hasSearch=!!si;R.searchPlaceholder=si?(si.placeholder||'').substring(0,40):'';R.filters=document.querySelectorAll('button[role=\"combobox\"],select').length;R.tabs=document.querySelectorAll('[role=\"tab\"],[role=\"tablist\"] button').length;const rc=()=>document.querySelectorAll('table tbody tr,[role=\"row\"]').length;R.rows=rc();R.hasTable=R.rows>0||!!document.querySelector('table,[role=\"grid\"]');if(si&&R.rows>0){const ns=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,'value')?.set;if(ns)ns.call(si,'zzz_no_match_e2e');else si.value='zzz_no_match_e2e';si.dispatchEvent(new Event('input',{bubbles:true}));si.dispatchEvent(new Event('change',{bubbles:true}));si.dispatchEvent(new KeyboardEvent('keydown',{key:'Enter',keyCode:13,bubbles:true}));const sb=document.querySelector('button[class*=\"search\"],button[aria-label*=\"검색\"]');if(sb)sb.click();await new Promise(w=>setTimeout(w,1500));R.afterRows=rc();R.searchWorked=R.afterRowssetTimeout(w,800));}return JSON.stringify(R);})()" }, { "id": 13, "name": "▶ 회계관리 > 카드내역조회 이동", "action": "menu_navigate", "level1": "회계관리", "level2": "카드내역조회" }, { "id": 14, "name": "[검색감사] 카드내역조회", "action": "evaluate", "script": "(async()=>{const R={p:location.pathname};const ss=['input[type=\"search\"]','input[placeholder*=\"검색\"]','input[placeholder*=\"Search\"]','input[role=\"searchbox\"]','[class*=\"search\"] input'];let si=null;for(const s of ss){si=document.querySelector(s);if(si)break;}if(!si) si=Array.from(document.querySelectorAll('input[type=\"text\"],input:not([type])')).find(i=>/검색|search|조회/i.test(i.placeholder||''));R.hasSearch=!!si;R.searchPlaceholder=si?(si.placeholder||'').substring(0,40):'';R.filters=document.querySelectorAll('button[role=\"combobox\"],select').length;R.tabs=document.querySelectorAll('[role=\"tab\"],[role=\"tablist\"] button').length;const rc=()=>document.querySelectorAll('table tbody tr,[role=\"row\"]').length;R.rows=rc();R.hasTable=R.rows>0||!!document.querySelector('table,[role=\"grid\"]');if(si&&R.rows>0){const ns=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,'value')?.set;if(ns)ns.call(si,'zzz_no_match_e2e');else si.value='zzz_no_match_e2e';si.dispatchEvent(new Event('input',{bubbles:true}));si.dispatchEvent(new Event('change',{bubbles:true}));si.dispatchEvent(new KeyboardEvent('keydown',{key:'Enter',keyCode:13,bubbles:true}));const sb=document.querySelector('button[class*=\"search\"],button[aria-label*=\"검색\"]');if(sb)sb.click();await new Promise(w=>setTimeout(w,1500));R.afterRows=rc();R.searchWorked=R.afterRowssetTimeout(w,800));}return JSON.stringify(R);})()" }, { "id": 15, "name": "▶ 회계관리 > 매입관리 이동", "action": "menu_navigate", "level1": "회계관리", "level2": "매입관리" }, { "id": 16, "name": "[검색감사] 매입관리", "action": "evaluate", "script": "(async()=>{const R={p:location.pathname};const ss=['input[type=\"search\"]','input[placeholder*=\"검색\"]','input[placeholder*=\"Search\"]','input[role=\"searchbox\"]','[class*=\"search\"] input'];let si=null;for(const s of ss){si=document.querySelector(s);if(si)break;}if(!si) si=Array.from(document.querySelectorAll('input[type=\"text\"],input:not([type])')).find(i=>/검색|search|조회/i.test(i.placeholder||''));R.hasSearch=!!si;R.searchPlaceholder=si?(si.placeholder||'').substring(0,40):'';R.filters=document.querySelectorAll('button[role=\"combobox\"],select').length;R.tabs=document.querySelectorAll('[role=\"tab\"],[role=\"tablist\"] button').length;const rc=()=>document.querySelectorAll('table tbody tr,[role=\"row\"]').length;R.rows=rc();R.hasTable=R.rows>0||!!document.querySelector('table,[role=\"grid\"]');if(si&&R.rows>0){const ns=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,'value')?.set;if(ns)ns.call(si,'zzz_no_match_e2e');else si.value='zzz_no_match_e2e';si.dispatchEvent(new Event('input',{bubbles:true}));si.dispatchEvent(new Event('change',{bubbles:true}));si.dispatchEvent(new KeyboardEvent('keydown',{key:'Enter',keyCode:13,bubbles:true}));const sb=document.querySelector('button[class*=\"search\"],button[aria-label*=\"검색\"]');if(sb)sb.click();await new Promise(w=>setTimeout(w,1500));R.afterRows=rc();R.searchWorked=R.afterRowssetTimeout(w,800));}return JSON.stringify(R);})()" }, { "id": 17, "name": "▶ 회계관리 > 매출관리 이동", "action": "menu_navigate", "level1": "회계관리", "level2": "매출관리" }, { "id": 18, "name": "[검색감사] 매출관리", "action": "evaluate", "script": "(async()=>{const R={p:location.pathname};const ss=['input[type=\"search\"]','input[placeholder*=\"검색\"]','input[placeholder*=\"Search\"]','input[role=\"searchbox\"]','[class*=\"search\"] input'];let si=null;for(const s of ss){si=document.querySelector(s);if(si)break;}if(!si) si=Array.from(document.querySelectorAll('input[type=\"text\"],input:not([type])')).find(i=>/검색|search|조회/i.test(i.placeholder||''));R.hasSearch=!!si;R.searchPlaceholder=si?(si.placeholder||'').substring(0,40):'';R.filters=document.querySelectorAll('button[role=\"combobox\"],select').length;R.tabs=document.querySelectorAll('[role=\"tab\"],[role=\"tablist\"] button').length;const rc=()=>document.querySelectorAll('table tbody tr,[role=\"row\"]').length;R.rows=rc();R.hasTable=R.rows>0||!!document.querySelector('table,[role=\"grid\"]');if(si&&R.rows>0){const ns=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,'value')?.set;if(ns)ns.call(si,'zzz_no_match_e2e');else si.value='zzz_no_match_e2e';si.dispatchEvent(new Event('input',{bubbles:true}));si.dispatchEvent(new Event('change',{bubbles:true}));si.dispatchEvent(new KeyboardEvent('keydown',{key:'Enter',keyCode:13,bubbles:true}));const sb=document.querySelector('button[class*=\"search\"],button[aria-label*=\"검색\"]');if(sb)sb.click();await new Promise(w=>setTimeout(w,1500));R.afterRows=rc();R.searchWorked=R.afterRowssetTimeout(w,800));}return JSON.stringify(R);})()" }, { "id": 19, "name": "▶ 회계관리 > 미수금현황 이동", "action": "menu_navigate", "level1": "회계관리", "level2": "미수금현황" }, { "id": 20, "name": "[검색감사] 미수금현황", "action": "evaluate", "script": "(async()=>{const R={p:location.pathname};const ss=['input[type=\"search\"]','input[placeholder*=\"검색\"]','input[placeholder*=\"Search\"]','input[role=\"searchbox\"]','[class*=\"search\"] input'];let si=null;for(const s of ss){si=document.querySelector(s);if(si)break;}if(!si) si=Array.from(document.querySelectorAll('input[type=\"text\"],input:not([type])')).find(i=>/검색|search|조회/i.test(i.placeholder||''));R.hasSearch=!!si;R.searchPlaceholder=si?(si.placeholder||'').substring(0,40):'';R.filters=document.querySelectorAll('button[role=\"combobox\"],select').length;R.tabs=document.querySelectorAll('[role=\"tab\"],[role=\"tablist\"] button').length;const rc=()=>document.querySelectorAll('table tbody tr,[role=\"row\"]').length;R.rows=rc();R.hasTable=R.rows>0||!!document.querySelector('table,[role=\"grid\"]');if(si&&R.rows>0){const ns=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,'value')?.set;if(ns)ns.call(si,'zzz_no_match_e2e');else si.value='zzz_no_match_e2e';si.dispatchEvent(new Event('input',{bubbles:true}));si.dispatchEvent(new Event('change',{bubbles:true}));si.dispatchEvent(new KeyboardEvent('keydown',{key:'Enter',keyCode:13,bubbles:true}));const sb=document.querySelector('button[class*=\"search\"],button[aria-label*=\"검색\"]');if(sb)sb.click();await new Promise(w=>setTimeout(w,1500));R.afterRows=rc();R.searchWorked=R.afterRowssetTimeout(w,800));}return JSON.stringify(R);})()" } ] }