更新压缩机制,提高前缀缓存命中率,优化UI渲染机制,提高帧数

This commit is contained in:
minorQAQ committed 2026-08-25 10:13:50 +08:00
1 parent 6131c2563e
commit 0ce72f74f1
175 files changed
+7621 -2611

No files matched your search

+13
View File
@@ -0,0 +1,13 @@
[
{"action": "goto", "url": "http://117.78.36.208:9099/"},
{"action": "wait", "wait_seconds": 3},
{"action": "snapshot"},
{"action": "fill", "ref": 1, "text": "10010381"},
{"action": "fill", "ref": 2, "text": "uat"},
{"action": "click", "ref": 5},
{"action": "wait", "wait_seconds": 3},
{"action": "snapshot"},
{"action": "click", "ref": 5},
{"action": "wait", "wait_seconds": 4},
{"action": "snapshot"}
]
+5
View File
@@ -0,0 +1,5 @@
[
{"action": "goto", "url": "http://127.0.0.1:8766/index.html"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "selector": "text=产品"}
]
+3
View File
@@ -0,0 +1,3 @@
[
{"action": "snapshot", "max_elements": 50}
]
+3
View File
@@ -0,0 +1,3 @@
[
{"action": "snapshot", "max_elements": 300}
]
+5
View File
@@ -0,0 +1,5 @@
[
{"action": "click", "ref": 37, "note": "业务来源(已是直销业务,重选验证)"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "selector": "text=\"直销业务\""}
]
+16
View File
@@ -0,0 +1,16 @@
[
{"action": "snapshot", "max_elements": 300},
{"action": "click", "ref": 37, "note": "业务来源"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "selector": "text=\"直销业务\"", "note": "业务来源选项"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "ref": 39, "note": "渠道中级分类"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "selector": "text=\"传统直销业务\"", "note": "中级分类选项"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "ref": 41, "note": "渠道子类"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "selector": "text=\"员工直销\"", "note": "渠道子类选项"},
{"action": "wait", "wait_seconds": 1},
{"action": "eval_js", "js": "(() => { const nz = Array.from(document.querySelectorAll('nz-select')).map(e => e.textContent.trim().slice(0, 15)); return JSON.stringify(nz.filter(t => ['直销业务', '传统直销业务', '员工直销'].includes(t))); })()"}
]
+7
View File
@@ -0,0 +1,7 @@
[
{"action": "snapshot", "max_elements": 300},
{"action": "date", "ref": 83, "value": "2005-07-09", "note": "证件有效起期"},
{"action": "date", "ref": 84, "value": "2006-07-09", "note": "证件有效止期"},
{"action": "wait", "wait_seconds": 1},
{"action": "eval_js", "js": "(() => { const a = document.querySelector('input[placeholder=\"证件有效起期\"]')?.value; const b = document.querySelector('input[placeholder=\"证件有效止期\"]')?.value; return '起期=' + a + ' 止期=' + b; })()"}
]
+7
View File
@@ -0,0 +1,7 @@
[
{"action": "snapshot"},
{"action": "click", "ref": 2, "note": "申请单录入"},
{"action": "wait", "wait_seconds": 4},
{"action": "eval_js", "js": "(() => { const m = document.querySelector('.ant-modal-wrap'); return m ? 'MODAL OPEN' : 'NO MODAL'; })()"},
{"action": "snapshot", "max_elements": 40}
]
+6
View File
@@ -0,0 +1,6 @@
[
{"action": "snapshot"},
{"action": "click", "ref": 2, "note": "申请单录入"},
{"action": "wait", "wait_seconds": 4},
{"action": "snapshot", "max_elements": 40}
]
@@ -0,0 +1 @@
[{"action": "eval_js", "js": "(() => { const b = document.getElementById('btn-dialog'); const r = document.getElementById('login-result'); return JSON.stringify({btnExists: !!b, resultText: r ? r.textContent : 'no-result', dialogOpen: document.getElementById('my-dialog') ? document.getElementById('my-dialog').className : 'no-dialog'}); })()"}]
+1
View File
@@ -0,0 +1 @@
[{"action": "goto", "url": "http://127.0.0.1:8766/index.html"}, {"action": "wait", "wait_seconds": 1}]
+1
View File
@@ -0,0 +1 @@
[{"action": "snapshot", "max_elements": 300}, {"action": "eval_js", "js": "(() => { const u = document.querySelector('#Applicant\\.CWorkDpt'); return '初始 disabled=' + (u ? u.getAttribute('ng-reflect-nz-disabled') : 'NF'); })()"}, {"action": "click", "ref": 78, "note": "投保人性质"}, {"action": "wait", "wait_seconds": 1}, {"action": "click", "selector": "text=\"个人\"", "note": "投保人性质选项"}, {"action": "wait", "wait_seconds": 1}, {"action": "eval_js", "js": "(() => { const u = document.querySelector('#Applicant\\.CWorkDpt'); return '选个人后 disabled=' + (u ? u.getAttribute('ng-reflect-nz-disabled') : 'NF'); })()"}]
+6
View File
@@ -0,0 +1,6 @@
[
{"action": "snapshot"},
{"action": "click", "ref": 1, "note": "系统菜单"},
{"action": "wait", "wait_seconds": 2},
{"action": "snapshot", "max_elements": 40}
]
+7
View File
@@ -0,0 +1,7 @@
[
{"action": "snapshot"},
{"action": "click", "ref": 1, "note": "系统菜单"},
{"action": "wait", "wait_seconds": 2},
{"action": "eval_js", "js": "(() => { const m = document.querySelector('.ant-modal-wrap'); return m ? 'MODAL OPEN' : 'NO MODAL'; })()"},
{"action": "snapshot", "max_elements": 40}
]
+6
View File
@@ -0,0 +1,6 @@
[
{"action": "snapshot", "max_elements": 40},
{"action": "click", "ref": 4, "note": "承保机构放大镜"},
{"action": "wait", "wait_seconds": 3},
{"action": "snapshot", "max_elements": 60}
]
+6
View File
@@ -0,0 +1,6 @@
[
{"action": "snapshot", "max_elements": 120},
{"action": "click", "selector": "text=\"北京分公司车险管理部\"", "note": "机构节点"},
{"action": "wait", "wait_seconds": 2},
{"action": "snapshot", "max_elements": 30}
]
+3
View File
@@ -0,0 +1,3 @@
[
{"action": "eval_js", "js": "(() => { const els = Array.from(document.querySelectorAll('div,span')).filter(e => (e.textContent||'').trim() === '检索结果' && e.children.length <= 3); return JSON.stringify(els.map(e => { const a = {}; for (const x of e.attributes) a[x.name] = x.value.slice(0, 40); return {tag: e.tagName, cls: e.className, attrs: a, kids: e.children.length}; })); })()"}
]
+1
View File
@@ -0,0 +1 @@
[{"action": "snapshot", "max_elements": 300}, {"action": "click", "ref": 118, "note": "单位性质"}, {"action": "wait", "wait_seconds": 2}, {"action": "eval_js", "js": "(() => { const lis = Array.from(document.querySelectorAll('.ant-select-dropdown-menu-item')).filter(e => e.offsetParent); return JSON.stringify(lis.slice(0, 8).map(e => e.textContent.trim().replace(/\\s+/g, ' ').slice(0, 40))); })()"}]
+1
View File
@@ -0,0 +1 @@
[{"action": "eval_js", "js": "(() => { const out = []; Array.from(document.querySelectorAll('nz-select')).forEach(e => { const t = (e.textContent||'').trim().replace(/\\s+/g, ' ').slice(0, 25); if (t) out.push(t); }); return JSON.stringify(out); })()"}]
+1
View File
@@ -0,0 +1 @@
[{"action": "eval_js", "js": "(() => { const all = Array.from(document.querySelectorAll('nz-select')); const u = all.find(e => (e.getAttribute('id')||'').includes('WorkDpt') || (e.getAttribute('ng-reflect-name')||'').includes('WorkDpt')); if (!u) return 'NOT FOUND, ids=' + JSON.stringify(all.slice(0, 10).map(e => e.id)); return JSON.stringify({id: u.id, ngName: u.getAttribute('ng-reflect-name'), disabled: u.getAttribute('ng-reflect-nz-disabled'), clsDisabled: (u.className||'').includes('ant-select-disabled'), text: (u.textContent||'').trim().slice(0, 20)}); })()"}]
+1
View File
@@ -0,0 +1 @@
[{"action": "eval_js", "js": "(() => {\n // 通讯地址-市下拉展开后看选项 li 文本\n const lis = Array.from(document.querySelectorAll('.ant-select-dropdown-menu-item')).map(e => JSON.stringify(e.textContent.trim().slice(0, 20)));\n return '当前可见 li: ' + lis.join(', ');\n})()"}]
+7
View File
@@ -0,0 +1,7 @@
[
{"action": "snapshot", "max_elements": 60},
{"action": "fill", "ref": 2, "text": "车险管理部"},
{"action": "press", "key": "Enter"},
{"action": "wait", "wait_seconds": 2},
{"action": "snapshot", "max_elements": 60}
]
+1
View File
@@ -0,0 +1 @@
[{"action": "eval_js", "js": "(() => { const nz = Array.from(document.querySelectorAll('nz-select')).map(e => (e.textContent||'').trim().replace(/\\s+/g, ' ').slice(0, 20)); const keys = ['业务来源', '渠道中级分类', '渠道子类', '机构部门', '产品']; return JSON.stringify({all: nz}); })()"}]
+1
View File
@@ -0,0 +1 @@
[{"action": "eval_js", "js": "(() => {\n const out = {legends: [], expands: [], unitDisabled: null, addrVisible: null};\n // 1) 所有 fieldset legend 标题 + 展开链接状态\n out.legends = Array.from(document.querySelectorAll('fieldset > legend')).map(l => {\n const fs = l.closest('fieldset');\n const a = l.querySelector('a');\n return {\n title: (l.textContent || '').trim().replace(/\\s+/g, ' ').slice(0, 30),\n link: a ? a.textContent.trim() : null,\n bodyHidden: fs ? getComputedStyle(fs.querySelector('div, table, .ant-table, form') || fs).display : '?'\n };\n });\n // 2) 通讯地址省下拉可见性\n const addr = Array.from(document.querySelectorAll('nz-select')).find(e => (e.textContent||'').includes('省'));\n out.addrVisible = addr ? (addr.offsetParent !== null ? 'VISIBLE' : 'HIDDEN') : 'NOT FOUND';\n // 3) 单位性质禁用\n const unit = document.querySelector('#Applicant\\.CWorkDpt, [id=\"Applicant.CWorkDpt\"]');\n out.unitDisabled = unit ? (unit.getAttribute('ng-reflect-nz-disabled') || unit.classList.contains('ant-select-disabled') || '?') : 'NOT FOUND';\n // 4) 8 个展开链接的父级标题\n out.expands = Array.from(document.querySelectorAll('a.legrnd-ta')).map(a => {\n const leg = a.closest('legend');\n return (leg ? leg.textContent.trim().replace(/\\s+/g, ' ').slice(0, 30) : 'no-legend');\n });\n return JSON.stringify(out);\n})()"}]
+9
View File
@@ -0,0 +1,9 @@
[
{"action": "snapshot"},
{"action": "click", "ref": 2, "note": "申请单录入"},
{"action": "wait", "wait_seconds": 4},
{"action": "snapshot", "max_elements": 40},
{"action": "click", "ref": 4, "note": "承保机构放大镜"},
{"action": "wait", "wait_seconds": 3},
{"action": "snapshot", "max_elements": 120}
]
+11
View File
@@ -0,0 +1,11 @@
[
{"action": "goto", "url": "http://117.78.36.208:9099/"},
{"action": "wait", "wait_seconds": 3},
{"action": "snapshot"},
{"action": "click", "ref": 2, "note": "申请单录入"},
{"action": "wait", "wait_seconds": 4},
{"action": "snapshot", "max_elements": 40},
{"action": "click", "ref": 4, "note": "承保机构放大镜"},
{"action": "wait", "wait_seconds": 3},
{"action": "snapshot", "max_elements": 120}
]
+6
View File
@@ -0,0 +1,6 @@
[
{"action": "snapshot", "max_elements": 300},
{"action": "click", "ref": 54, "note": "单位性质"},
{"action": "wait", "wait_seconds": 2},
{"action": "click", "selector": "text=机关团体"}
]
+4
View File
@@ -0,0 +1,4 @@
[
{"action": "snapshot", "max_elements": 300},
{"action": "eval_js", "js": "(() => { const nz = Array.from(document.querySelectorAll('nz-select')); const u = nz.find(e => (e.textContent||'').includes('单位性质') || (e.getAttribute('ng-reflect-name')||'').includes('Unit')); return '单位性质nz-select: ' + (u ? u.getAttribute('ng-reflect-name') : '未按名找到'); })()"}
]
+6
View File
@@ -0,0 +1,6 @@
[
{"action": "snapshot", "max_elements": 300},
{"action": "click", "ref": 118, "note": "单位性质"},
{"action": "wait", "wait_seconds": 2},
{"action": "click", "selector": "text=机关团体"}
]
+8
View File
@@ -0,0 +1,8 @@
[
{"action": "snapshot", "max_elements": 300},
{"action": "click", "ref": 118, "note": "单位性质"},
{"action": "wait", "wait_seconds": 2},
{"action": "click", "selector": "text=\"机关团体-社会团体\"", "note": "单位性质选项"},
{"action": "wait", "wait_seconds": 1},
{"action": "eval_js", "js": "(() => { const nz = Array.from(document.querySelectorAll('nz-select')).filter(e => (e.textContent||'').includes('机关团体-社会团体')); return '选中: ' + nz.length + ' 个'; })()"}
]
+8
View File
@@ -0,0 +1,8 @@
[
{"action": "snapshot", "max_elements": 300},
{"action": "click", "ref": 118, "note": "单位性质"},
{"action": "wait", "wait_seconds": 2},
{"action": "click", "selector": "text=\"机关团体-社会团体\"", "note": "单位性质选项"},
{"action": "wait", "wait_seconds": 1},
{"action": "eval_js", "js": "(() => { const nz = Array.from(document.querySelectorAll('nz-select')).filter(e => (e.textContent||'').includes('机关团体')); return '含机关团体 select 数: ' + nz.length; })()"}
]
+6
View File
@@ -0,0 +1,6 @@
[
{"action": "snapshot", "max_elements": 300},
{"action": "click", "selector": "nz-select:has([ng-reflect-name]) >> text=\"机关团体\"", "note": "定位单位性质"},
{"action": "wait", "wait_seconds": 2},
{"action": "eval_js", "js": "(() => { const lis = Array.from(document.querySelectorAll('.ant-select-dropdown-menu-item')).filter(e => e.offsetParent).map(e => e.textContent.trim().slice(0, 25)); return JSON.stringify(lis.slice(0, 8)); })()"}
]
+8
View File
@@ -0,0 +1,8 @@
[
{"action": "snapshot", "max_elements": 300},
{"action": "click", "ref": 118, "note": "单位性质"},
{"action": "wait", "wait_seconds": 2},
{"action": "click", "selector": "text=\"机关团体-社会团体\"", "note": "单位性质选项"},
{"action": "wait", "wait_seconds": 1},
{"action": "eval_js", "js": "(() => { const nz = Array.from(document.querySelectorAll('nz-select')).filter(e => (e.textContent||'').includes('机关团体-社会团体')); return '选中数: ' + nz.length; })()"}
]
+28
View File
@@ -0,0 +1,28 @@
[
{"action": "snapshot", "max_elements": 60},
{"action": "fill", "ref": 2, "text": ""},
{"action": "press", "key": "Enter"},
{"action": "wait", "wait_seconds": 2},
{"action": "click", "selector": "text=\"北京分公司车险管理部\"", "note": "机构树节点"},
{"action": "wait", "wait_seconds": 2},
{"action": "snapshot", "max_elements": 40},
{"action": "click", "ref": 5, "note": "产品大类"},
{"action": "wait", "wait_seconds": 1},
{"action": "type", "text": "意外险"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "selector": "text=\"意外险\"", "note": "产品大类选项"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "ref": 7, "note": "产品"},
{"action": "wait", "wait_seconds": 1},
{"action": "type", "text": "060003"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "selector": "text=\"060003旅游意外伤害保险\"", "note": "产品选项"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "ref": 11, "note": "联共保业务"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "selector": "text=\"司内联保_主联\"", "note": "联共保选项"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "ref": 15, "note": "确认"},
{"action": "wait", "wait_seconds": 6},
{"action": "snapshot", "max_elements": 20}
]
+30
View File
@@ -0,0 +1,30 @@
[
{"action": "snapshot", "max_elements": 40},
{"action": "click", "ref": 4, "note": "承保机构放大镜"},
{"action": "wait", "wait_seconds": 2},
{"action": "fill", "selector": "input[placeholder*=\"机构代码\"]", "text": ""},
{"action": "press", "key": "Enter"},
{"action": "wait", "wait_seconds": 2},
{"action": "click", "selector": "text=\"北京分公司车险管理部\"", "note": "机构树节点"},
{"action": "wait", "wait_seconds": 2},
{"action": "snapshot", "max_elements": 40},
{"action": "click", "ref": 5, "note": "产品大类"},
{"action": "wait", "wait_seconds": 1},
{"action": "type", "text": "意外险"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "selector": "text=\"意外险\"", "note": "产品大类选项"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "ref": 7, "note": "产品"},
{"action": "wait", "wait_seconds": 1},
{"action": "type", "text": "060003"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "selector": "text=\"060003旅游意外伤害保险\"", "note": "产品选项"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "ref": 11, "note": "联共保业务"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "selector": "text=\"司内联保_主联\"", "note": "联共保选项"},
{"action": "wait", "wait_seconds": 1},
{"action": "click", "ref": 15, "note": "确认"},
{"action": "wait", "wait_seconds": 6},
{"action": "snapshot", "max_elements": 20}
]