目录
4. 断言响应body中正文是否等于response_body_string,需要完全相等
5. 断言是否包含Content-Type响应头,也可以换成其他响应头断言
2. 在请求中使用这个动态参数,且该参数会作为响应返回才有断言的意义
常见断言
1. 断言状态码
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
2. 断言响应体中是否包含该字符串
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("token");
});
3. 断言json中某个字段的值
pm.test("断言customPhone的值", function () {
var jsonData = pm.response.json();
pm.expect(jsonData['data']['pageListData'][0]['customPhone']).to.eql("15382394222");
});
4. 断言响应body中正文是否等于response_body_string,需要完全相等
pm.test("Body is correct", function () {
pm.response.to.have.body("response_body_string");
});
5. 断言是否包含Content-Type响应头,也可以换成其他响应头断言
pm.test("断言的响应头存在", function () {
pm.response.to.have.header("Content-Length");
});
6. 断言请求消耗的时间小于指定时间
pm.test("断言请求时间小于400ms", function () {
pm.expect(pm.response.responseTime).to.be.below(400);
});
7. 断言响应状态码的名称
状态码名称有:OK(200)、Created(201)、Accepted(202)、No Content(204)、Moved Permanently(301)、Found(302)、Not Modified(304)、Bad Request(400)、Unauthorized(401)、Forbidden(403)、Not Found(404)、Internal Server Error(500)等等
pm.test("Status code name has string", function () {
pm.response.to.have.status("OK");
});
在断言中使用自定义动态参数
1. 在前置脚本中设置动态参数
var times = Date.now();
pm.globals.set("times",times)
2. 在请求中使用这个动态参数,且该参数会作为响应返回才有断言的意义
{"tag":{"name":"测试{{times}}"}}
响应数据示例
{
"tag": {
"id": 15463,
"name": "测试1706023181858"
}
}
3. 在tests中进行断言
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("测试"+pm.globals.get("times"));
});