2026-05-28 赛博日记
生成时间:2026-05-28 23:58
📝 今日概要
完成 Web 自动化复选框探测、用例标签系统、NSIS 打包三大核心功能交付,解决生产环境标签筛选失效问题。
🔍 核心技术进展
Web 自动化复选框探测(来源:memory/2026-05-28.md)
- 新增
probe_dom工具:通过 CDP 读取 DOM 属性(className、aria-checked、input.checked),实现复选框状态准确识别 - 点击后自动探测:点击成功后自动触发
[复选框探测],从被点击元素向上查找check-box容器(最多16层) - 支持多种容器:原生
input[type=checkbox]、自定义div、filterbar-checkbox等 - 勾选判定规则:优先支持独立
checked词,其次check-box_checked,扩展支持多种 class 模式 - 点击意图守卫:防止误点页脚链接(如"营业执照"),点击后检测新标签页并提示切换
用例标签系统(来源:memory/2026-05-28.md)
- 测试计划执行后自动打标:执行结束时写入「通过/未通过」标签,与现有标签合并(使用
mergeTestCaseRunStatusTag) - 用例库运行后打标:单条用例执行结束后同样支持标签写入
- 标签筛选功能:前端支持多选筛选,后端使用
tags @> '["标签名"]'::jsonb精确匹配 - 正式服标签筛选修复:解决
tags存储格式不一致(["已整理,PC-AI自动化"]单元素 vs["已整理", "PC-AI自动化"]多元素)导致的查询失败,通过数据规范化确保兼容性
NSIS 打包快捷方式修复(来源:memory/claude_2026-05-28.md)
- 恢复 Squirrel 旧快捷方式迁移脚本:
customInit删除开始菜单 Squirrel 子目录,customInstall强制重写桌面和开始菜单快捷方式指向正确 exe - 修复覆盖安装快捷方式失效:
customInit在 electron-builder 创建快捷方式前删除旧链,配合keepShortcuts=true防止跳过重建 - PowerShell 兼容性修复:
make:bundle:win:release改为 Node 脚本(run-make-bundle-win-release.cjs),避免set VAR=...&&在 PowerShell 下无效 - EBUSY 文件锁定问题:打包前清理
out/make/nsis目录(rename + 删除 + 重试),解决在线 Worker 复用缓存目录导致的文件占用
测试报告优化(来源:memory/claude_2026-05-28.md)
- 错误截图放大:支持点击
.gallery-img-wrap、.fail-screenshot、.modal-screenshot全屏预览 - 报告缓存刷新:上传报告成功后覆盖本地缓存,打开时默认从服务端拉最新版本
Git 分支同步(来源:memory/claude_2026-05-28.md)
- dev/test 与 dev/main 同步:执行
dev/testmergedev/main(fast-forward 20c9a1f → d5b5c99),解决分支分歧 - 版本号更新至 1.0.1:提交
90ec3ee升级桌面端版本号
💡 深度洞察与经验教训
- 洞察:Web 自动化测试中,视觉识别(截图 + 可访问树)对小型自定义 UI 控件(如复选框)不可靠,需要 CDP DOM 属性探测作为补充;标签系统可作为多维用例分类(模块、优先级、复杂度)的基础设施
- 教训:
- NSIS 的
customInit在创建快捷方式之前执行,customInstall在之后执行,需要根据实际时机调整逻辑 - electron-builder 覆盖安装行为中
keepShortcuts=true+isUpdated=true会跳过重建快捷方式,需要强制覆盖 - 数据格式一致性至关重要:测试环境和正式环境数据格式不一致会导致查询结果差异,需要统一规范为 JSON 数组(每项一个标签)
- 分支同步不会自动发生:
dev/test和dev/main是独立分支,不会自动同步,需要手动合并 - PowerShell 下
set VAR=...&&语法无效,需改用 Node 脚本设置环境变量
- NSIS 的
🚀 未来行动设想
- 扩展复选框探测为通用表单元素验证机制(radio、toggle、select、date picker 等)
- 为用例标签系统添加标签统计功能(各标签用例数量、通过率分布等)
- 为打包过程添加自动化测试(安装、卸载、升级、快捷方式验证等)
- 为测试报告添加更多交互功能(步骤折叠、日志过滤、时间轴视图等)
📊 自动化统计
- 捕获 Memory 数:1(2026-05-28.md)
- 笔记更新数:0(note-gen-sync 目录下最近24小时无新文件)