2026年6月4日 赛博日记
生成时间:2026-06-04 23:58
📝 今日概要
完成店员版APP自动化覆盖率统计(44.8%),修复PC侧测试报告生成问题,新增批量添加用例功能,推动代码合并与推送。
🔍 核心技术进展
自动化覆盖率统计工具开发
- 工具:Python XMind 解析脚本
- 成果:解析店员版APP核心用例池,统计出 20 个模块、145 条用例,其中 65 条已自动化,整体覆盖率 44.8%
- 实现要点:
- 根节点第二级为模块名称,叶子节点计为用例
- 叶子节点标题为「已自动化」标记自动化状态
- 自动生成 CSV 表格输出模块覆盖率明细
- 发现:部分模块覆盖率已达 100%(领券中心、IM、分享等),部分模块覆盖率为 0%(升级提醒、注册、直播等)
PC侧测试报告生成修复
- 问题:PC 端执行测试计划后未生成测试报告
- 根因分析:
- 「是否输出报告」选项默认未勾选
- 手动停止时跳过报告合并逻辑
_detectWebPlan计划类型识别逻辑可能误判- App 侧未统计准备失败用例
- 修复方案:
- 默认勾选「是否输出报告」,并用 localStorage 记住用户选择
- 无论正常结束还是手动停止,都尝试合并并上传报告
- 修正 App/Web 计划类型识别逻辑
- App 合并报告支持准备失败用例统计
- 停止执行时仍落盘当前用例数据
测试计划编辑页功能增强
- 需求:编辑测试计划时,支持根据搜索结果批量添加所有用例
- 实现:
- 在「添加用例」下拉框底部新增「全部添加」按钮
- 支持分页拉取所有搜索结果(每页 100 条)
- 自动去重,跳过已在计划中的用例
- 添加完成后 toast 提示实际添加数量
测试报告生成与存储架构梳理
- 双层存储:Electron 客户端本机生成 → Web API 服务端上传
- 本机路径:
userData/reports/plan_{sessionId}/(执行时)→execution-reports/{executionId}.html(历史缓存) - 服务端路径:Docker 部署
/opt/jenkins/ysb_ai_auto_test/data/reportdata,本地开发ysb_ai_auto_web_api/data/reportdata - 生成时机:执行结束且勾选「输出报告」时合并
case_*目录下的用例数据生成report.html
TAPD 标签匹配机制深入理解
- 数据形态:本地存储纯文本标签名(如
["已整理","PC-AI自动化"]),TAPD 存储 UID(Labels.Name)和展示名(Labels.DisplayName) - 匹配规则:
- 从 TAPD 拉取:取
DisplayName写入本地tags - 推送到 TAPD:按
DisplayName精确匹配标签库并转换为 UID - 匹配失败:跳过并警告,不会自动创建新标签
- 从 TAPD 拉取:取
- 实践注意:本地标签名必须与 TAPD 标签库展示名一致(大小写不敏感)
App与PC测试计划并行执行可行性调研
- 架构分析:App 轨(
AGENT_RUN_TASKS+ 手机设备控制)和 Web 轨(webAgent.runPlanWebBatch+ Chrome)分离,无全局互斥锁 - 实际限制:
- 同一工作区内只能跑一个计划
- UI 不支持跨工作区并行监控
- 资源竞争:AI 模型 API、CPU、内存
- 建议:当前版本建议串行执行,需要稳定并行需额外做全局执行队列或跨轨冲突检测
💡 深度洞察与经验教训
洞察
- 覆盖率驱动的测试策略:通过自动化覆盖率统计工具可以清晰识别模块覆盖盲区,为后续自动化建设提供数据支撑
- 用户习惯优化:测试报告默认开启输出并记住用户选择,显著提升用户体验,减少重复操作
- 标签系统的设计权衡:本地纯文本 + TAPD 展示名匹配的设计既保持本地灵活性,又确保与外部系统一致性
教训
- 代码 Lint 校验前置:推送代码前必须通过 Lint 校验,本次修复了 17 个既有 Lint 错误后才成功提交,说明平时应保持代码质量
- 计划类型识别逻辑易出错:
_detectWebPlan等辅助判断函数需严格区分 App/Web 计划类型,避免误判导致报告合并逻辑走错分支 - 并行执行的风险:即使架构上支持并行,UI 交互和资源竞争仍是实际使用中的限制,需在产品设计时统筹考虑
🚀 未来行动设想
- 定期运行 XMind 自动化覆盖率统计脚本,追踪模块覆盖进度
- 考虑为测试计划执行添加全局执行队列或跨轨冲突检测,以支持稳定的 App+PC 并行执行
- 扩展 XMind 解析脚本支持其他脑图格式,提升工具通用性
- 测试计划执行历史记录增加资源使用统计(CPU、内存、AI 调用次数等)
- 优化 Lint 错误修复流程,避免累积大量技术债务
📊 自动化统计
- 捕获 Memory 数:2 个文件(
2026-06-04.md、claude_2026-06-04.md) - 笔记更新数:0 个