Postman 是一个广泛使用的 API 开发工具,它允许开发人员测试 API 的各个方面,包括请求、响应、身份验证等等,其中最常用的功能之一就是 Test 校验。那今天就一起来看看 Postman 的 Test 校验该如何使用。
Test 校验是什么?
Test 校验是 Postman 的一个内置功能,可以在 Test 模块中编写脚本,它允许开发人员编写测试代码来检查 API 响应包括响应头、响应正文、响应时间等等是否符合预期,实现测试结果的校验、将结果信息保存为变量,以供后续请求使用。校验结果可以直接在 Test Results 中查看。
Test 校验是一个非常强大的功能,它可以帮助开发人员减少手动测试的工作量,并且可以在 API 发生变化时自动检测问题。
如何使用 Postman 的 Test 校验?
Postman 的 Test 校验主要用于测试断言校验,帮助快速判断结果。
这就不得不提到 pm 对象。pm 对象包含与正在执行的脚本有关的所有信息,它允许访问正在发送的请求的副本或接收到的响应,并允许获取和设置环境变量和全局变量。
方法 | 描述 |
---|---|
pm.test("testName", specFunction) | 用于创建一个测试。 |
pm.expect(assertion:*) | 用于处理来自响应或变量的数据断言。 |
举个简单的例子。
1、首先,我们需要创建一个 Postman 请求。 在请求的 Headers 中添加 Content-Type 和 Accept 头,并在请求的 Body 中添加 JSON 数据。
2、接下来,我们需要添加测试代码。 点击右上角的 “Tests” 选项。

在编辑器中编写测试代码。这段代码将首先获取 API 的响应,然后使用测试代码来验证响应是否符合预期。 我们将校验返回结果中是否包含某个字符串(Response body:Contains string)。 在这个例子中,我们校验的是是否包含"DONE"。
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("DONE");
});
3、运行测试。 点击 “Send” 按钮向 API 发送请求,并等待响应。 一旦收到响应,Postman 将自动运行测试代码并显示测试结果。

4、点击“Test Results” 查看测试结果。 Postman 将显示测试结果,包括测试是否通过、测试所花费的时间、测试代码中使用的断言等等。 如果校验通过,则断言为 PASS,如果校验失败,则断言为 FAIL。

总结
我们简单介绍了 Postman 的 Test 校验功能,如果需要进行更多断言场景,就需要再仔细钻研 Postman 提供的测试脚本响应断言API,比如 pm.response.to
。更多内容可以前往 Postman 官方文档查看。
当然官方的文档可能没有详细介绍每个函数的使用示例,那么可以查看 Apifox 的官方文档 来了解断言,详细为每个断言请求举实例帮助用户理解。Apifox 是在“汉化版的 Postman”基础上进行了能力升级,能解决使用 Postman 后会出现的在多个工具之间频繁切换导致数据不一致的问题。Apifox Test 校验功能与 Postman 是一致的,甚至在会有更详细的断言结果展示。

Apifox 也支持可视化操作。我们只需要在「后置操作」中选择新增断言即可。

除此之外还有更简单的方法,Apifox 还可以直接从返回响应直接提取断言,一键设置,无需手写 JSONPath 表达式。

如果您正在使用 Postman 进行 API 开发,但是对于 Test 校验功能不太熟悉,那么 Apifox Test 校验可以帮助你快速掌握 Test 校验功能,它可以帮助您快速检测问题并提高开发效率,点击免费使用。

知识扩展
了解更多 Postman 相关使用技巧: