Apifox需配置断言验证接口返回:①基础断言校验HTTP状态码、JSON字段;②数据库操作+自定义脚本比对库表数据;③动态脚本按type字段条件校验values长度。

要让Apifox自动判断接口返回的数据是否符合预期,比如登录成功后status字段为true、message是"Success"、HTTP状态码是200,就必须配置断言——这一步不做,测试就只是发了个请求,根本没验证结果对不对。
添加基础断言校验响应结构
打开已创建的接口 → 点击右上角【调试】按钮 → 切换到【后置操作】标签页 → 点击【添加后置操作】→ 选择【添加断言】。
在弹出面板中,依次配置三项最常用断言(直接照填,路径和值不能手误):
| 断言名称 | 断言对象 | 路径/方式 | 预期值 |
|---|---|---|---|
| 状态码 200 | HTTP Code | 等于 | 200 |
| 操作成功 | Response JSON | $.success | true |
| 提示信息正确 | Response JSON | $.message | "Success" |
填完后点【确定】,断言即生效。注意:JSON路径必须严格匹配返回体结构,比如返回是{"data":{"success":true}},那路径就得写成$.data.success,写成$.success会校验失败。
用自定义脚本校验数据库一致性
当接口返回的是操作结果,而你需要确认数据库里真实写入了对应数据时,光靠响应体不够,得查库比对。
第一步:在【后置操作】里添加【数据库操作】,配置好连接信息(host/port/username/password/database),并执行SELECT语句把待校验字段查出来,存进变量,例如:
【variable_db】 ← SELECT user_name FROM users WHERE id = {{uid}};
第二步:添加【自定义脚本】,输入以下代码(注意替换变量名):
Apifox Linux 桌面版是一款专为 Linux 开发者打造的 API 一体化工具,集接口设计、调试、测试、Mock 和文档管理于一体。它在 Linux 环境下提供稳定、高效的本地运行体验,帮助开发者实现 API 全生命周期管理,是 Linux 开发者进行接口开发与联调的高效工具。
pm.test("check user name matches db", function () {
var db_name = pm.variables.get('variable_db');
var expect_name = pm.environment.get('expect_user_name');
pm.expect(db_name).to.equal(expect_name);
});
这段脚本会从变量取数据库查出的值,再和环境变量里预设的期望值比对。如果断言失败,默认会中断后续步骤;如需继续执行,必须加 try-catch 包裹整个 test 块。
按业务逻辑动态校验嵌套字段关系
有些校验无法用静态路径完成,比如要求 type 字段为 "range" 时,values 数组长度必须是 2;type 为 "fixed" 时,values 长度必须是 1。
第一步:添加【自定义脚本】后置操作。
第二步:粘贴以下逻辑校验代码(直接可用,仅需确认字段名与你接口返回一致):
const res = pm.response.json();
const type = res.type;
const values = res.values || [];
pm.test("values length matches type rule", function () {
if (type === "range") {
pm.expect(values.length).to.equal(2);
} else if (type === "fixed") {
pm.expect(values.length).to.equal(1);
} else if (type === "other") {
// no length restriction
}
});
这段代码不依赖固定路径,而是先取完整响应体,再用 if 分支做条件判断。只要接口返回结构含 type 和 values 字段,就能跑通。

















