调用接口之后我们往往会增加断言来判定接口是否调用成功,本文主要记录下用postman调用接口并使用Tests编写断言
登录接口
首先,我们用postman调用登录接口返回结果。
如下图所示就是调用登录接口后返回的结果
返回的结果
{
"code": 0,
"login_info": {
"id": 1,
"login_time": "2021/07/07 15:18:23",
"token": "1b619d28bc8803bc81ddbaddc54fdc69",
"username": "wintest"
},
"msg": "恭喜,登录成功!"
}
Tests设置断言
校验返回的结果是否为json格式
pm.test("response must be valid and have a body", function () {
pm.response.to.be.ok;
pm.response.to.be.withBody;
pm.response.to.be.json;
});
检验body内容
//校验code为0
pm.test("response code must to be 0",function(){
pm.expect(pm.response.json().code).to.equal(0)});
//校验返回的msg
pm.test("response msg",function(){
pm.expect(pm.response.json().msg).to.equal("恭喜,登录成功!")});
校验状态码、返回头
//校验状态码
pm.test("status",function(){
pm.expect(pm.response.to.have.status(200))});
//校验返回头部参数
pm.test("header",function(){
pm.expect(pm.response.to.have.header("Content-Type"))});
//校验返回Content-Type值为json
pm.test("content-type",function(){
pm.expect(pm.response.headers.get("Content-Type")).to.equal('application/json')});
校验返回结果与变量
pm.test("Response property matches environment variable", function () {
pm.expect(pm.response.json().username).to.eql(pm.environment.get("admin_username"));
});