2026-06-01 赛博日记

生成时间:2026-06-01 23:58:00

📝 今日概要

完成了接口测试自动化工具链的关键迭代:Swagger 文档自动发现、鉴权配置固化、TAPD 标签同步 Bug 修复,并实现了通过 Swagger 链接一键生成测试用例的前后端集成。

🔍 核心技术进展

Swagger 文档自动发现能力(来源:memory/2026-06-01.md)

  • 新增配置文件 openapi-doc-sources.json,支持存储文档源配置和鉴权信息(Basic Auth)
  • 实现自动探测同服务下的 v3/v2 api-docs 端点,支持直接传 swagger-ui/index.html#... 链接进行解析
  • FastAPI 后端提供 POST /openapi/parse 接口,前端支持完整流程:粘贴链接 → 解析 → 勾选接口 → 执行

鉴权与域名管理优化(来源:memory/2026-06-01.md, memory/claude_2026-06-01.md)

  • 统一使用 test.ysbdev.cn 作为测试域名,避免 testd 域名混淆(实测 testd 404,test 可达)
  • 将登录鉴权 URL 改为固定地址 https://[已脱敏]/api/auth/webSmsLogin,不再随被测接口 base_url 拼接
  • 实现同步失败时自动刷新 Cookie 并重试的机制,TAPD Cookie 有效期:tapdsession 未公开、_wt 约 1~2 天、t_i_token 约 3 天

TAPD 同步关键 Bug 修复(来源:memory/2026-06-01.md)

  • 修复标签同步失败问题:TAPD 的 Labels 必须使用标签库 ID(如 34451),不能直接传显示名
  • 同步逻辑改为通过 Web API 读写,使用 metadata.tapd_case_uid 字段建立与 TAPD 的关联
  • 用例同步从本地 SQLite 改为基于 Web API,先从 TAPD 标签库按 DisplayName 匹配本地标签名

💡 深度洞察与经验教训

  • 洞察:接口文档的 host 字段优先级较高,但最好用实际请求验证。实测发现 Swagger 页面本身在 test.ysbdev.cn,但自动化鉴权配置可能指向 testd,导致网关 404。
  • 教训:即使接口业务失败,也可能返回 HTTP 200(通过业务码 code 区分)。测试用例断言需调整为业务码断言(如 contains '40001'),而非仅 HTTP 状态码。
  • 教训:前后端集成时,函数签名的关键字参数必须完全匹配,否则会导致运行时错误。
  • 洞察:测试用例生成数量由提示词控制(默认 2-4 条),可通过修改 data/llm_prompt_config.jsonapp/llm_prompt_defaults.py 调整策略。

🚀 未来行动设想

  • 在 Electron 设置里添加"同步前自动刷新 Cookie"选项
  • 考虑添加测试环境的健康检查,提前发现服务不可用的情况
  • 在测试报告中增加执行时间统计,帮助评估性能
  • 在 Swagger 解析时增加"接口是否存在"的连通性验证
  • 长期自动化更推荐 TAPD OAuth(testx/ 开放平台),而非浏览器 Cookie
  • 可以在用例生成时增加"缺少测试数据时必须向用户提问"的强制校验

📊 自动化统计

  • 捕获 Memory 数:2(2026-06-01.md、claude_2026-06-01.md)
  • 笔记更新数:0(note-gen-sync 目录下最近24小时无更新)