PostMan:Body中常用断言及注意点(3)

1.状态码:200
1)手写添加状态码
//添加一个状态码
tests[“验证状态码200”]=responseCode.code ===200
//添加多个状态码(添加多个状态时,必须是同一类,即不能同时添加200和304)
tests[“验证状态码200”]=responseCode.code ===200 || responseCode.code ===201
2)PostMan沙箱添加
//添加一个状态码(status Code :code is 200)在这里插入图片描述
pm.test(“验证状态码: 200”, function () {
pm.response.to.have.status(200);
});

//添加多个状态码(status Code :successful Postman request)
在这里插入图片描述
pm.test(“验证状态码200”, function () {
pm.expect(pm.response.code).to.be.oneOf([200,201, 202]);
});

2.响应时间
1)手写添加响应时间
// 响应时间:小于多少
tests[“验证响应时间小于2s”]=responseTime < 2000;
//响应时间:在某范围内
tests[“验证响应时间在50ms~2000ms之间”]=_.inRange(responseTime,50,2000);
2)PostMan沙箱添加(response time is less than 200ms)
在这里插入图片描述
pm.test(“验证响应时间小于200ms”, function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});

3.返回主体(Body)中包含某内容([1]返回主体信息一定要是raw中的原始信息;[2]存在*“转译”**的问题,如raw中"\u6b66\u6c49"代表"武汉",断言中要多添加一个“\”转义,即“\u6b66\u6c49”*在这里插入图片描述
)

1)手写添加
tests[“验证主体断言包含:汇通”]=responseBody.has(“汇通”)
2)PostMan沙箱添加(response body :contains string)
在这里插入图片描述
pm.test(“验证body中包含:安心定期寿险B款”, function () {
pm.expect(pm.response.text()).to.include(“安心定期寿险B款”);
});

4.验证主体信息全部一致(即全部报文内容一致:response body:is equal to a string)(报文中双引号要转义如【“transHeader”】转义为【“transHeader”】

pm.test(“验证响应报文”, function () {
pm.response.to.have.body(“{“transHeader”:{“requestTime”:“2021-02-01 10:53:00”,“requestId”:“527601236719831936200212”,“transType”:9080003,“transResultCode”:1}}”);
});
在这里插入图片描述

5.//验证头中包含某头域(response header :content-type header check)

pm.test(“验证返回头中包含Access-Control-Allow-Headers头域”, function () {
pm.response.to.have.header(“Access-Control-Allow-Headers”);
});

在这里插入图片描述

6.返回主体(body)中某“键值”断言(response body:json value check)
注明:响应JSON报文中字段名路径获取,JSON报文中遇到数组则用[],遇到字典则用.的方式取值

在这里插入图片描述
1)报文以“大括号”开头,且断言第一个大括号的键值
报文格式:{
“A”:1,
“C”:3,
“D”:6
}
在这里插入图片描述

2)报文以“大括号”开头且包含多个“大括号”,断言第二个大括号的键值(找到键值对应“类”路径)
报文格式:{“a":
{“b”:1,
“c”:2,
“d”:3
}
}

原式:pm.test(“Your test name”, function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value).to.eql(100);
});

pm.test(“验证transResultCode返回键值1”, function () {
var jsonData = pm.response.json();
pm.expect(jsonData.transHeader.transResultCode).to.eql(1);
});
在这里插入图片描述

3)报文以“中括号”开头并且包括多个同类大括号,并且给第一个大括号中的键值添加断言(下标从”0“开始,即jsonData[0].credit_rating)
报文格式:[
{
“A”:1,
“b”:2
},

{
“c”:1,
“d”:2
},

{
“e”:1,
“f”:2
}
]

原式:pm.test(“Your test name”, function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value).to.eql(100);
});

pm.test(“第一个债券的credit_rating是长江证券”, function () {
var jsonData = pm.response.json();
console.log(jsonData[0].credit_rating)//打印日志,可以不添加
pm.expect(jsonData[0].credit_rating).to.eql(长江证券);
});
在这里插入图片描述
4)报文中大括号内包括中括号,第一个中括号中键值添加断言
报文格式:
{
“transHeader”: {
“requestId”: “8738609531400367”,
“requestTime”: “2021-01-27 15:36:04”,
“transType”: 1003915,
“transResultCode”: 1
},
“transResponse”: {
“extensionObject”: {
“@typeName”: “QueryNoteResult”,
“QueryNoteDetailResult”: [
{
“policyNum”: “2920053”,
“noteCode”: “CO001”,
“noteDes”: “请客户在《新合同》上签名”,
“noteDate”: “2021-02-06”,
“phName”: “张二”,
“inName”: “汇通”,
“mainProductName”: “安心”,
“mainContract”: [
{
“mainConName”: “安心”,
“coverPlan”: null,
“insuredName”: “汇通”
}
],
“additionalContract”: null,
“listId”: 692126,
“feeAmount”: null
},
{
“policyNum”: “2920003”,
“noteCode”: “CO001”,
“noteDes”: “请客户在《新合同》上签名”,
“noteDate”: “2021-02-06”,
“phName”: “张三”,
“inName”: “汇通”,
“mainProductName”: “安心]”,

                "mainContract": [
                    {
                        "mainConName": "安心",
                        "coverPlan": null,
                        "insuredName": "汇通",
                      
                    }
                ],
                "additionalContract": null,
                "listId": 692127,
                "feeAmount": null
            },
      
            }
        ]
    }
}

}

pm.test(“验证notecode的键值为CO001”, function () {
var jsonData = pm.response.json();
pm.expect(jsonData.transResponse.extensionObject.QueryNoteDetailResult[0].noteCode).to.eql(“CO001”);
});

在这里插入图片描述5)大括号{}、中括号[]多层级交错存在(遇到大括号“.”+“类”;遇到中括号就用“[]”下角号标识。。。类似文件路径一样,直到找到要断言的“键”)
报文格式:
在这里插入图片描述pm.test(“单号sumAssured值添加断言”, function () {
var jsonData = pm.response.json();
pm.expect(jsonData.transResponse.extensionObject.QueryNoteDetailResult[3].mainContract[0].sumAssured).to.eql(200000);
});

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值