Postman常用的断言如下:
断言接口状态、返回值等信息
#断言接口状态为200
pm.response.to.have.status(200)
pm.expect(pm.response.code).to.eql(200);
#想测试一组状态码
pm.expect(pm.response.code).to.be.oneOf([201,202]);
断言接口返回值中某些字段的类型以及值
#将相应结果解析为json
const responseJson = pm.response.json();
#断言返回结果中字段的值
pm.expect(responseJson.age).to.eql(23);
pm.expect(responseJson.name).to.eql("xxx");
#断言返回结果中字段的类型
pm.expect(responseJson.name).to.be.a('string');
pm.expect(jsonData.age).to.be.a("number");
pm.expect(jsonData.).to.be.a("array");
从list中取出某个字段并校验是否包含某个值
#假如返回值结构如下,想校验某一个目标用户是否存在
{
"status": "success",
"result": {
"total": 3,
"page": 1,
"list": [
{
"userid": "765239393",
"nickname": "1235",
"type":1
},
{
"userid": "765245770",
"nickname": "哈哈哈",
"type":2
}
]
}
}
# 将list中userid都获取出来放到useridlist中
const responseJson = pm.response.json()
useridlist = []
for(var i =0; i < responseJson.result.list.length; i++){
useridlist.push(responseJson.result.list[i].userid)
}
pm.test("Assert status", function(){
pm.expect(useridlist).contain("目标值")
#如果校验某个用户不存在
pm.expect(useridlist).not.contain("目标值")
})
#如果取值的时候需要根据某个字段判断下
const responseJson = pm.response.json()
useridlist = []
for(var i =0; i < responseJson.result.list.length; i++){
if(responseJson.result.list[i].type == 1){
useridlist.push(responseJson.result.list[i].userid)
}
}
断言接口返回值中某些字段的的长度大于、小于某值
pm.expect(responseJson.result.list.length).to.above(0)
pm.expect(responseJson.result.list.length).to.below(0)
断言接口返回值中是否包含某个属性
pm.expect(jsonData.hasOwnProperty("xxx")).to.equal(true);