接口自动化测试怎能少断言,没有断言自动化就不能叫接口自动化测试。
那到底什么是断言呢?断言即响应结果与预期结果的比对,一致通过,不一致失败。
继续对“Postman快速发起接口请求”博客中的请求添加断言。
通过查看接口文档或者响应结果分析,大概会有下面三种断言:
1,状态码(Status Code is 200)
2,json值校验(Response body:JSON value check)
3,响应主体校验(Response body:Contains string)
点击对应的断言方式,自动将断言示例添加到“Tests”标签页中。断言开发语言为jJavaScript。
1、状态码(Status Code is 200)
一般通过的状态码都为200,不作任何修改;
//响应状态
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
2、json值校验(Response body:JSON value check)
根据接口文档中的响应示例,设置键值;
//返回json值校验
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.resultcode).to.eql("200");
pm.expect(jsonData.reason).to.eql("successed!","查询成功" );
pm.expect(jsonData.error_code).to.eql(0);
});
3、响应主体校验(Response body:Contains string)
有时判断接口测试是否成功,需要校验响应值是否包含某些数据,例如该接口是测试苏州一周的天气,那响应值中应该包括,苏州、星期一、星期二…,多个响应字符串中用半角逗号(英文逗号)隔开。
//返回响应数据校验
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("南京","星期一");
});
执行请求,在“Test Results”显示断言结果。