130 lines
16 KiB
JSON
130 lines
16 KiB
JSON
|
|
{
|
||
|
|
"enabled": true,
|
||
|
|
"id": "search-function-audit-sales-approval",
|
||
|
|
"name": "검색 기능 감사: 판매/출고/결재 (4/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.afterRows<R.rows;if(ns)ns.call(si,'');else si.value='';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}));if(sb)sb.click();await new Promise(w=>setTimeout(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.afterRows<R.rows;if(ns)ns.call(si,'');else si.value='';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}));if(sb)sb.click();await new Promise(w=>setTimeout(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.afterRows<R.rows;if(ns)ns.call(si,'');else si.value='';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}));if(sb)sb.click();await new Promise(w=>setTimeout(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.afterRows<R.rows;if(ns)ns.call(si,'');else si.value='';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}));if(sb)sb.click();await new Promise(w=>setTimeout(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.afterRows<R.rows;if(ns)ns.call(si,'');else si.value='';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}));if(sb)sb.click();await new Promise(w=>setTimeout(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.afterRows<R.rows;if(ns)ns.call(si,'');else si.value='';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}));if(sb)sb.click();await new Promise(w=>setTimeout(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.afterRows<R.rows;if(ns)ns.call(si,'');else si.value='';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}));if(sb)sb.click();await new Promise(w=>setTimeout(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.afterRows<R.rows;if(ns)ns.call(si,'');else si.value='';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}));if(sb)sb.click();await new Promise(w=>setTimeout(w,800));}return JSON.stringify(R);})()"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|