postman 的接口测试需要添加断言的方式对接口的判断,另外在 tests 中还可以进行很多的操作协助测试工作,做了一个简单整理。
一、断言部分:
1.判断请求返回的状态码为 200,200 就是请求状态正常。
tests["判断返回的状态为200"] = responseCode.code === 200;
2.判断请求返回的时间小于 200ms,一般认证正常的请求应该在 200ms 之下。
tests["判断请求返回的时间小于200ms"]= responseTime < 200;
3.获取 json 数据并进行校对键对值的正确性
以下面的返回数据为例(之后的断言也是一这个返回为例):
"status": 1,
"res": [
{
"id": 39,
"from": “东方”,
"to": “南方”
},
{
"id": 38,
"from": “西北”,
"to": “东南”,
}
]

1)先获取到返回的 json 数据:
var responBody = JSON.parse(responseBody);
2)断言 status 返回的值为 1
tests["判断返回的status返回为1"] = responseBody.status === 1;
3)断言 res 下第一个元素中 from 的值为东方
tests[“res中第一个元素中from的值正确”] = responseBody.res[0].from === "东方";
4.判断数据返回类型是什么。我大概整理一下几种类型的:number 、string 、object 、array 、boolean 、undefind。
tests["判断res下第一个元素中id的返回元素为number"] = typeof(responseBody.res[0].id) === "number";
如果需要判断其他的类型就可以用同样的方法更换最后的类型就可以了。
5.判断返回数据中是否存在某个元素。这个虽然到现在一直没用得上,但是也是一个基础的断言语句了
还是以上面的返回数据为例子,判断返回元素中是否有 status
tests["判断返回的元素中带有status"] = responseBody.has("status");
好了以上就是常用的几个断言语句了。。。
二、其他的操作
1.将获取到的值设置为环境变量-->key 变量名 value 环境变量值
pm.environment.set("key",value)
2.设置流程控制跳转的下一条需要执行的接口-->requestname 为需要跳转的接口名
postman.setNextRequest(requestname)
3.判断一个字段返回的值是否在一个列表中出现过;
例子:接口 A 中返回的列表中的 name 字段的值,需要在 B 个列表中也出现且相等

for (var k=0;k<Blist.length ;k++){
tests["判断name是否相同"] = Alist.indexOf(Blist[k].name) >-1;
}

Blist 是 B 接口返回的数组,Alist 是 A 接口返回的数组,通过遍历 B 数组查看是否有 A 数组中的 name 值,-1 为没有的情况,所以使用 >-1 判断是否存在


↙↙↙阅读原文可查看相关链接,并与作者交流