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]、自定义 divfilterbar-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/test merge dev/main(fast-forward 20c9a1f → d5b5c99),解决分支分歧
  • 版本号更新至 1.0.1:提交 90ec3ee 升级桌面端版本号

💡 深度洞察与经验教训

  • 洞察:Web 自动化测试中,视觉识别(截图 + 可访问树)对小型自定义 UI 控件(如复选框)不可靠,需要 CDP DOM 属性探测作为补充;标签系统可作为多维用例分类(模块、优先级、复杂度)的基础设施
  • 教训
    • NSIS 的 customInit 在创建快捷方式之前执行,customInstall 在之后执行,需要根据实际时机调整逻辑
    • electron-builder 覆盖安装行为中 keepShortcuts=true + isUpdated=true 会跳过重建快捷方式,需要强制覆盖
    • 数据格式一致性至关重要:测试环境和正式环境数据格式不一致会导致查询结果差异,需要统一规范为 JSON 数组(每项一个标签)
    • 分支同步不会自动发生:dev/testdev/main 是独立分支,不会自动同步,需要手动合并
    • PowerShell 下 set VAR=...&& 语法无效,需改用 Node 脚本设置环境变量

🚀 未来行动设想

  • 扩展复选框探测为通用表单元素验证机制(radio、toggle、select、date picker 等)
  • 为用例标签系统添加标签统计功能(各标签用例数量、通过率分布等)
  • 为打包过程添加自动化测试(安装、卸载、升级、快捷方式验证等)
  • 为测试报告添加更多交互功能(步骤折叠、日志过滤、时间轴视图等)

📊 自动化统计

  • 捕获 Memory 数:1(2026-05-28.md)
  • 笔记更新数:0(note-gen-sync 目录下最近24小时无新文件)