利用 Postman 中 Tests 断言校验返回结果

本贴最后更新于 739 天前,其中的信息可能已经时过境迁

前言

Postman目前是一款很火的接口测试工具,它有着非常强大结果判断能力。
为什么说强大呢,因为Postman有自带的校验脚本,根本不需要我们去学习JS脚本语言,对于代码能力为0的各位测试小伙伴来说,特别的友好。
image.png
通过Tests的代码校验,可以很快的得到结果判断。如果校验通过,则断言为PASS,如果校验失败,则断言为FAIL

Response body:Contains string (校验返回结果中是否包含某个字符串)

代码如下:
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});
image.png
例子
image.png
结果
image.png

Response body:Is equal to a string (校验返回结果是否等于该字符串)

注意
这个校验,必须是接口的返回结果与字符串要一模一样。
代码如下:
pm.test("Body is correct", function () {
pm.response.to.have.body("response_body_string");
});
image.png
例子
image.png
结果
image.png

Response body:JSON value check(校验返回结果中某个字段值是否等于某个值)

代码如下:
pm.test("Your test name", function () {
//设置jsonData变量用来接收postman的json格式的返回数据
var jsonData = pm.response.json();
//判断返回数据中,msg字段是结果是否为OK
//此处与需要注意一下json格式,jsonData为整个接口的返回数据,jsonData.msg是第一层级字段
pm.expect(jsonData.value).to.eql(100);
});
例子
image.png
结果
image.png

Response header:Content-type header check(校验响应头是否包含某个值)

代码如下:
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type");
});
image.png

例子
image.png
结果
image.png

Response time is less than 200ms(校验响应时间是否少于200ms(毫秒))

代码如下:
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
image.png

例子PASS
image.png
例子FAIL
image.png

Status code:Code is 200(校验响应头是否包含某个值)

代码如下:
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
image.png

例子PASS
image.png
例子FAIL
image.png

至此,Postman断言的多种方式已经学习完毕。加油!!

1 操作
zymnstlm 在 2020-09-23 11:39:41 更新了该帖
回帖
请输入回帖内容 ...