以危废登录页的接口为例进行断言:
1、 判断响应结果是否包含指定内容 使用“response body:Contains string ”
pm.test("返回内容是否包含指定内容", function () {
pm.expect(pm.response.text()).to.include("1");
});
2、 判断响应结果是否与预期结果一致 response body:is equal to a string (填入Body-Raw内容)
pm.test("返回内容是否与预期结果一致", function () {
pm.response.to.have.body(''{"rtn":1,"value":{"userid":2,"username":"admin","password":"202cb962ac59075b964b07152d234b70","realname":"青岛海湾新材料科技有限公司","email":"648664037@qq.com","workno":"00001","mobileno":"13482031701","usertype":-1,"companyid":null,"verifystate":1,"userstate":1,"firstlogin":false,"isvalid":false,"remark":null,"orgIds":null,"roles":null,"createtime":"2020-12-24 10:34:31","verifytime":"2020-11-11T14:00:00.000+0800","roleNames":null,"verifyuserid":2,"openId":null,"nickName":null}}'');
});
3、判断返回的json数据中某个key的value是否和预期结果一样 response body: Json value check
pm.test("返回的json数据中rtn是否和预期结果一样", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.rtn).to.eql(1);
});
4、1判断返回json数据中某个key对应的value是否正确 --- 嵌套json的键值 response body: Json value check
<< 类似于tologin接口返回的{rtn:1,"value":{"userid":2}} >>
pm.test("判断嵌套json中的username值是否正确", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value.username).to.eql("admin");
});
4.2 接口返回的格式是 { rtn:1,
"value":[
{
"userid":2,
"username":"admin"
}
}]
jsonData要获取是的[]里面的第一个元素{}的东西,所以value后面需要加上[0],表示获取第一个元素里面的某个key
pm.test("判断嵌套json中的username值是否正确", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value[0].username).to.eql("admin");
});
5、判断请求返回的状态是否正确 statuscode: code is 200
pm.test("判断请求返回的状态是否是200", function () {
pm.response.to.have.status(200);
});
6、判断返回的响应体中某个值的数据类型
/* js数据类型:num,string,object,array,Boolean,undefind */
pm.test("返回的响应体中的数据类型", function () {
var jsonData = pm.response.json();
pm.expect(typeof(jsonData.value)).to.eql("object");
});