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” 选项。
![Postman Test 校验](https://apifox.com/apiskills/content/images/2023/07/image-692.png)
在编辑器中编写测试代码。这段代码将首先获取 API 的响应,然后使用测试代码来验证响应是否符合预期。 我们将校验返回结果中是否包含某个字符串(Response body:Contains string)。 在这个例子中,我们校验的是是否包含"DONE"。
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("DONE");
});
3、运行测试。 点击 “Send” 按钮向 API 发送请求,并等待响应。 一旦收到响应,Postman 将自动运行测试代码并显示测试结果。
![Postman Test 校验](https://apifox.com/apiskills/content/images/2023/07/image-693.png)
4、点击“Test Results” 查看测试结果。 Postman 将显示测试结果,包括测试是否通过、测试所花费的时间、测试代码中使用的断言等等。 如果校验通过,则断言为 PASS,如果校验失败,则断言为 FAIL。
![Postman Test 校验](https://apifox.com/apiskills/content/images/2023/07/image-694.png)
总结
我们简单介绍了 Postman 的 Test 校验功能,如果需要进行更多断言场景,就需要再仔细钻研 Postman 提供的测试脚本响应断言API,比如 pm.response.to
。更多内容可以前往 Postman 官方文档查看。
当然官方的文档可能没有详细介绍每个函数的使用示例,那么可以查看 Apifox 的官方文档 来了解断言,详细为每个断言请求举实例帮助用户理解。Apifox 是在“汉化版的 Postman”基础上进行了能力升级,能解决使用 Postman 后会出现的在多个工具之间频繁切换导致数据不一致的问题。Apifox Test 校验功能与 Postman 是一致的,甚至在会有更详细的断言结果展示。
![Postman Test 校验](https://apifox.com/apiskills/content/images/2023/07/image-695.png)
除此之外还有更简单的方法,直接用 JSONPath 表达式来设置断言,可视化的方式大大提高了效率。
![Postman Test 校验](https://apifox.com/apiskills/content/images/2024/01/image-52.png)
如果您正在使用 Postman 进行 API 开发,但是对于 Test 校验功能不太熟悉,那么 Apifox Test 校验可以帮助你快速掌握 Test 校验功能,它可以帮助您快速检测问题并提高开发效率,点击免费使用。
![Apifox](https://apifox.com/apiskills/content/images/2024/01/image-30.png)
知识扩展
了解更多 Postman 相关使用技巧: