- 自动化测试核心(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 提取验证
42 lines
2.4 KiB
Markdown
42 lines
2.4 KiB
Markdown
# 自动化测试
|
||
|
||
把日常联调的接口串成**场景用例**,一条龙验证业务流程。三种触发方式共用同一套用例模型:
|
||
|
||
| 方式 | 说明 | 适合 |
|
||
| --- | --- | --- |
|
||
| 手动运行 | 用例编排好后点「运行」 | 日常自测、回归 |
|
||
| 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 助手](/docs/ai)。配置模型供应商后,「AI 生成」会读取集合的 HTTP 接口清单(方法、URL、Body 示例),按业务依赖编排步骤、断言与变量提取,生成前可附加一句要求(如「重点覆盖登录态与分页」),预览确认后保存。
|