2026年7月7日 赛博日记

生成时间:2026-07-07 23:58

📝 今日概要

完成 gs d 卸载与 Superpowers 插件安装,实现用例插件系统上线,修复 PC 自动化测试 18 条失败用例,从 TAPD 迭代生成 298 条测试用例,并配置用户级全局 TAPD MCP。

🔍 核心技术进展

1. 工具链升级

  • 卸载 gsd 包:彻底移除 get-shit-done 及其 18 个 agents、5 个 hooks、commands、bin 等,备份至 backups/gsd-uninstall-20260707-100849/,验证 hooks 未被 settings 注册后安全删除
  • 安装 Superpowers 插件:通过 /plugin marketplace add obra/superpowers-marketplace/plugin install superpowers@superpowers-marketplace 安装,确认 skills 列表出现 superpowers:*,发现 skills 在会话启动时加载,修改后需重启会话

2. 插件系统开发

  • 用例插件系统上线:完成「用例增加插件系统」功能开发并合并代码(commit dc498c6),支持前置条件搜索选择用例与 utils 插件脚本并按顺序执行
  • 插件机制设计:支持用例和 utils 插件混合配置,按显式顺序执行,退出码非 0 则终止;插件为项目根目录 utils/ 下的 .py 脚本,执行时注入 YSB_DEVICE_ID
  • Android 切服插件:拆成多个独立插件名(测试服/B/C/RC),每个对应一个可搜索的前置条件项,核心逻辑集中在 _switch_android_env.py

3. PC 自动化测试修复

  • 第一轮修复(commit 667aaca):修复 PC 搜索模块 11 条失败用例,根因包括测试服 API 504、用例间未回首页、定位器过期、等待不足等;改动 SearchBase.pypage_base.py
  • 第二轮修复(commit e784f5c):修复剩余 7 条失败用例,根因包括截图路径反斜杠、未等新窗口跳转、数量断言读取错误等;同时实现采购金校验弹窗处理(测试服使用 666666,正式服跳过)
  • pytest 截图路径问题:pytest-html 4.x 的 mediaviewer 需要正斜杠相对路径,反斜杠和 .\ 前缀会导致图片无法显示,修复为 os.path.relpath(file_path, reports_root).replace('\\', '/')
  • 重试策略:改为跑完后统一延迟重试(默认 120 秒),使用 pytest --lf 只重跑失败项

4. TAPD MCP 配置

  • 用户级全局配置:配置 mcp-server-tapd 至 C:\Users\Administrator\.cursor\mcp.json(用户级,非项目级),Token 验证成功,本机所有项目均可使用
  • Token 管理:40 位十六进制访问令牌 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,已保存至本机配置,需保密

5. 测试用例生成

  • 从 TAPD 迭代生成用例:从 TAPD 迭代 App v6.3.0(店员版APP和PC,51 条需求)生成 298 条测试用例,产出 testcases.jsontestcases.mdtestpoints-outline.jsonrequirement-review.md
  • 模块覆盖:AI 搜推、全球购身份证弹窗与校验、药学习跳转弹窗、单品立减、先采后付、催发货、百亿补贴会场等

6. 数据库迁移

  • Prisma 迁移同步:拉代码后若出现 “column does not exist”,需执行 npx prisma migrate deploy 应用已有迁移;本地库落后 3 个迁移(包括 test_plans.web_runtime_url_host

7. Python 导入机制

  • 星号导入问题import * 会导致 IDE 跳转和静态检查弱化,建议显式导入;调用链:test_login.pyfrom base import *from common import *change_app_environment

8. ADB 自动化

  • 冷启动 Appadb shell monkey -p ysbang.cn -c android.intent.category.LAUNCHER 1
  • 等待元素:使用 uiautomator 或 xpath 定位
  • 连点元素:循环点击触发隐藏功能(如切服入口连点 9 次)

✅ 今日待办完成

(暂无 Todoist 数据记录)

💡 深度洞察与经验教训

洞察

  • 全局 MCP 配置价值:用户级配置让本机所有项目都能共享 TAPD 等工具,避免每个项目重复配置,提升开发效率
  • 插件系统扩展性:前置条件支持脚本执行,可用于自动造数据、准备环境,提高用例执行效率,混合配置(插件 + 用例)提供了更大的灵活性
  • Superpowers 实用性:writing-plans 技能可以帮助规划实现方案,适合解决实际项目中的痛点和复用逻辑

教训

  • Claude Code skills 加载时机:skills 列表在会话启动时加载,卸载/安装后需重启会话才能生效,这在工具链升级中容易被忽略
  • pytest 截图路径问题:pytest-html 4.x 的 mediaviewer 需要正斜杠相对路径,反斜杠和 .\ 前缀会导致图片无法显示,这是一个跨平台兼容性问题
  • Prisma 迁移同步:拉代码后若出现 “column does not exist”,需执行 npx prisma migrate deploy 应用已有迁移,而不是假设本地库已经是最新的
  • 药惠拼搜索特性:会在 send_keyword_and_search 阶段就新开标签页,结果在第二个标签里,需要始终 go_to_new_window()
  • 导入链路:星号导入(import *)会导致 IDE 跳转和静态检查弱化,建议显式导入

🚀 未来行动设想

  • 考虑将更多常用工具(如数据库操作、日志分析)封装成插件,提升复用性
  • 为不同环境(测试服/B/C/RC)建立统一的插件命名规范和配置管理
  • 完善 PC 自动化测试的重试机制,增加失败原因分类和告警
  • 将 TAPD 用例生成流程自动化,定期从迭代生成用例并上传

📊 自动化统计

  • 捕获 Memory 数:2(当日记录 + Claude 工作记录)
  • 笔记更新数:0(note-gen-sync 最近24小时无新增笔记)
  • Todoist 完成任务数:0(无 Todoist 数据可用)