Files
opsxapi/apps/server/internal/docs/content/16-testing.md
T
logan 1bcd7be2ac AI 大模型接入 + 自动化测试(手动/AI/定时三种触发)
- 自动化测试核心(packages/core/src/testing.ts):
  - JSONPath 求值($.a.b[0].c)、断言评估(状态码/耗时/Header/Body × 10 种操作)
  - 变量提取(响应 → 当前环境,{{var}} 链式传值)、Markdown 报告导出
- 用例模型:场景用例 = 有序步骤(引用 HTTP 接口 + 断言 + 提取),失败后继续可选
- 执行器 testRunner + 定时调度器 scheduler(应用运行期间按间隔自动执行)
- TestingView:用例列表 / 步骤编排 / 断言与提取编辑器 / 报告(统计卡+断言明细+过滤+再次运行+导出)
- AI 助手:OpenAI 兼容客户端(DeepSeek/智谱/Kimi/OpenAI/Ollama 预设)
  - 设置 → AI 助手:供应商 CRUD + 测试连接 + 当前使用切换
  - AI 生成场景用例:读取集合接口清单 → 编排步骤/断言/提取 → 预览保存
- 入口:侧栏底部「自动化测试」+ ⋯ 菜单;文档新增 /docs/testing /docs/ai
- 新增 11 个引擎单测(总 48 前端用例全绿);本地 E2E:运行通过+断言通过+petId 提取验证
2026-09-18 01:57:57 +08:00

2.4 KiB
Raw Blame History

自动化测试

把日常联调的接口串成场景用例,一条龙验证业务流程。三种触发方式共用同一套用例模型:

方式 说明 适合
手动运行 用例编排好后点「运行」 日常自测、回归
AI 生成 模型按接口清单自动编排步骤与断言 快速起盘、补断言思路
定时任务 应用运行期间按间隔自动执行 持续监控、冒烟

场景用例

从侧栏底部「自动化测试」进入。用例 = 有序步骤列表,每个步骤:

  • 引用一个 HTTP 接口(从集合中选择,可跨集合、跨目录);
  • 断言:状态码 / 耗时 / Header / Body 四类目标,支持 等于、不等于、大于、小于、包含、存在 与 JSONPath 取值比较;
  • 变量提取:$.data.id → 环境变量 petId,后续步骤 URL / Body 用 {{petId}} 引用,实现「创建 → 查询 → 删除」链式传值;
  • 可单独禁用、上下移动、删除。

用例级选项「失败后继续」:默认失败即停(快速定位首个问题);打开后跑完全部步骤再看整体报告。

运行报告

  • 统计卡:通过 / 失败步骤数、总耗时、断言数、通过率;
  • 步骤明细:方法 + URL + 状态码 + 耗时,逐条断言的期望 / 实际对照(可按 通过 / 失败 过滤);
  • 「再次运行」一键回归;「导出报告」生成 Markdown 存档或归档到缺陷单;
  • 每个用例保留最近 50 次运行记录,可下拉切换历史报告。

定时任务

用例头部的 ⏱ 按钮或左侧「定时任务」入口:

  • 间隔可选 5 / 15 / 30 / 60 分钟、6 小时、每天;
  • 独立 启用 / 暂停 开关,显示下次运行时间与上次结果;
  • 应用保持运行时生效:OpsxAPI 窗口(或 Web 页面)开着才会按时触发并记录报告,关闭后自动暂停 —— 适合工作时段的持续监控,不能替代服务器侧的 CI。

提示:定时触发的请求同样走当前环境与 Mock 设置;跨环境回归前先在顶栏切换环境。

AI 生成用例

见 AI 助手。配置模型供应商后,「AI 生成」会读取集合的 HTTP 接口清单(方法、URL、Body 示例),按业务依赖编排步骤、断言与变量提取,生成前可附加一句要求(如「重点覆盖登录态与分页」),预览确认后保存。