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.json或app/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小时无更新)