{ "enabled": true, "id": "search-function-audit-settings", "name": "검색 기능 감사: 설정2 (6/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);})()" } ] }