postman学习的开始:有了断言后,就为我们做自动化提供了条件,并且在postman中的断言是非常方便和强大的
PHP
0
断言
如果没有断言,我们只能做接口的功能测试,但有了断言后,就为我们做自动化提供了条件,并且在postman中的断言是非常方便和强大的 。 我们先来了解下postman断言的一些特点 ,具体如下- 断言编写位置:Tests标签
- 断言所用语言:JavaScript
- 断言执行顺序:在响应体数据返回后执行 。
- 断言执行结果查看:Test Results
- 断言状态码:Status code: code is 200
-
pm.test("Status code is 200", function () {
-
pm.response.to.have.status(200); //这里填写的200是预期结果,实际结果是请求返回结果
-
});
- 断言状态消息:Status code:code name has string
-
pm.test("Status code name has string", function () {
-
pm.response.to.have.status("OK"); //断言响应状态消息包含OK
-
});
响应头中的断言
- 断言响应头中包含:Response headers:Content-Type header check
-
pm.test("Content-Type is present", function () {
-
pm.response.to.have.header("Content-Type"); //断言响应头存在"Content-Type"
-
});
断言响应体(重点)
- 断言响应体中包含XXX字符串:Response body:Contains string
-
pm.test("Body matches string", function () {
-
pm.expect(pm.response.text()).to.include("string_you_want_to_search");
-
});
-
//注解
-
pm.expect(pm.response.text()).to.include("string") 获取响应文本中包含string
- 断言响应体等于XXX字符串:Response body : is equal to a string
-
pm.test("Body is correct", function () {
-
pm.response.to.have.body("response_body_string");
-
});
-
//注解
-
pm.response.to.have.body("response_body_string"); 获取响应体等于response_body_string
- 断言响应体(json)中某个键名对应的值:Response body : JSON value check
-
pm.test("Your test name", function () {
-
var jsonData = pm.response.json();
-
pm.expect(jsonData.value).to.eql(100);
-
});
-
//注解
-
var jsonData = pm.response.json() 获取响应体,以json显示,赋值给jsonData .注意:该响应体必须返会是的json,否则会报错
-
pm.expect(jsonData.value).to.eql(100) 获取jsonData中键名为value的值,然后和100进行比较
响应时间(一般用于性能测试)
- 断言响应时间:Response time is less than 200ms
-
pm.test("Response time is less than 200ms", function () {
-
pm.expect(pm.response.responseTime).to.be.below(200); //断言响应时间<200ms
-
});
案例说明:
针对以下接口返回的数据进行断言:
-
{
-
"cityid": "101120101",
-
"city": "济南",
-
"update_time": "2020-04-17 10:50",
-
"wea": "晴",
-
"wea_img": "qing",
-
"tem": "16",
-
"tem_day": "20",
-
"tem_night": "9",
-
"win": "东北风",
-
"win_speed": "3级",
-
"win_meter": "小于12km/h",
-
"air": "113"
-
}
- 断言响应状态码为200
- 断言city等于济南
- 断言update_time包含2020-04-17
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。