2026年07月31日 赛博日记

生成时间:2026-07-31 23:50

核心工作

💻 Claude Code / Cursor 工作记录

今日共 10 个 Cursor 会话300 条消息,全部围绕 App v6.3.5「积分补贴按钮」需求的测试用例生成与 P0 冒烟门禁体系建设

主线:积分补贴按钮需求 → 用例生成 → 冒烟执行 → 链路修复

需求分析与用例生成(3 轮迭代)

  • 从 TAPD 拉取 Story(迭代 App v6.3.5),完成需求评审(有条件通过),作废「组单中心加购」范围
  • 生成 TC001~TC014 共 14 条测试用例,覆盖前端 snapUp.pointsUseButton 与后端 submitOrderDetail.pointsUseButton
  • 通过代码感知分析 SnapUpTracker 逻辑,补充 4 条 P0 用例(SUPP-P0-APP-001~004),覆盖首推默认开启、百亿补贴不携带、组单中心不携带、非积分活动不携带

冒烟门禁执行(6 轮尝试,层层打怪)

轮次问题修复
第1轮ADB 未连接设备 → 0% 通过率连接真机 PFEM10
第2轮旧进程残留导致任务等待PowerShell 强杀进程
第3轮批次 JSON 携带 supplement_case_id 等元数据字段 → 执行器拒绝清洗批次格式
第4轮config.json 路径 .. 解析跳到 D:\code 非 git 仓库 → exit 11改为 .code
第5轮12 条用例全部失败(崩溃/白屏/执行器错误)见下方链路修复
第6轮持续监控中

冒烟执行链路修复(3 个关键 Bug)

  1. 🔥 P0 脚本扫描路径失效

    • 根因:scan_entries.pyrepositories.path 解析不当,路径偏移导致入口定位失败
    • 修复:修正为相对业务仓根解析,同步修复 gate.py
    • 影响:9/10 用例因入口定位失败报错
  2. 🔥 APP 用例间未冷重启 → 状态串台

    • 根因:Launch 底层走 monkey 命令,仅恢复任务栈而非冷启动,上一条用例的深页面残留
    • 修复:新建 app_cold_restart.py,每条用例前执行 adb shell am force-stop(Android)/ hdc shell aa force-stop(鸿蒙)
    • 验证:9 条单测通过,写入 cold-restart.json 标记
  3. 🔥 指令混合导致动作解析失败

    • 根因:模型将中文说明混入 do(...) 动作指令 → ValueError → 重试停止
    • 教训:自然语言描述与代码执行指令必须严格分离

PC 冒烟能力建设(1.0.3 → 1.0.5)

  • 登录态复用:从「每用例独立浏览器」改为「同批共享浏览器进程」,复用 IndexedDB + Local Storage 缓存
  • 自动生图上传:新增 upload_assets.py,按用例场景动态生成图片(售后凭证/发票等),消除本地文件依赖
  • 入口自动定位方案设计:完成 5 节技术方案(脚本扫候选 + Agent 择优写入),目标消除手动 config 维护

Git Worktree 与流程规范

  • 建立 p0-smoke 独立分支与 worktree,分离日常修改与基线副本
  • 撰写 docs/澄清步骤.md,明确 testcases.json 为唯一真源,CSV/MD 由脚本派生

核心技术选型与决策

决策点选择理由
入口定位方案方案1:代码扫描+Agent择优避免 long-term 维护 config 映射
冷启动策略force-stoppm clear重启 App 但保留用户数据
登录态策略共享浏览器进程避免每用例短信登录
数据源testcases.json 唯一真源防止多文件手动维护不一致

待跟进

  • 排查 12 条用例全量失败的根因(崩溃/白屏)
  • 用例枚举澄清:「未使用」vs「不使用」、非积分「不记录」形态
  • PC/WEB 端是否同步测试
  • 将修复版本 1.0.5 发布至中转服供同事使用
  • 实现 scan_entries.py 入口自动扫描脚本

📋 代办推送

今日无代办推送记录

📚 智能收藏回顾

今日无收藏记录

🧠 记忆系统维护

memory/2026-07-31.md 不存在,memory/claude_2026-07-31.md 已生成

🏠 回家通知

今日无回家通知记录

思考与备忘

冒烟门禁的工程哲学:今天的 6 轮冒烟测试执行,本质上是在补一个自动化测试框架的「基础设施债」。每轮失败都暴露了一个不同层级的问题——从设备连接(最底层)到路径配置(中间层)到动作解析(最上层)。这说明一个新框架从「能跑」到「稳定跑」需要大量 edge case 的打磨。

指令混合问题的深层原因:LLM 在生成测试步骤时天然倾向于用自然语言解释,但执行器需要结构化指令。这是一个 prompt engineering 问题——需要在系统提示中更明确地约束输出格式。

多仓库共享 runtime 的同步问题:在 AI_TEST_HOME 模式下,修复后必须显式同步到中央目录,否则其他仓库回退时仍用旧逻辑。这增加了运维成本,未来可考虑自动同步机制。

今日摘要

今天是一场 P0 冒烟门禁的攻坚战。围绕 App v6.3.5 积分补贴按钮需求,完成了从用例生成到门禁执行的全链路建设,但执行过程中遇到了设备未连接、路径解析错误、批次格式不兼容、用例间状态串台、指令混合解析失败等一系列问题。通过 10 个 Cursor 会话的持续修复,逐步解决了扫描路径、冷重启、登录态复用等核心 Bug,并将版本从 1.0.2 推进到 1.0.5。最终冒烟测试虽仍未通过(12 条全 Fail),但执行链路的可靠性已大幅提升,为下一轮稳定执行打下了基础。

📊 自动化统计

  • 捕获 Memory 数:0(今日无 memory/2026-07-31.md
  • Claude 记忆文件:1(claude_2026-07-31.md,25382 字节)
  • 笔记更新数:0(note-gen-sync 无新笔记)
  • Todoist 完成任务数:N/A(工具不可用)
  • Claude Code / Cursor 会话数:10 个(300 条消息)