点击↑↑↑猪圈子关注标星
小石阿.90后天秤座.喜欢分享
前俩篇文章给大家简单介绍了下postman设置全局变量以及断言的使用方法,今天我给大家简单举个例子讲讲多层级的断言我们该如何去断言,在看这篇文章之前如果对于json代码层级还不太清楚地同学, 可以先百度简单了解一下,进入正题
言归正传,简单的了解下我们的postman,对于一个测试人员来讲,测试接口是一个很重要的流程,而postman是测试接口的一个常用工具之一。
对于刚刚使用postman的新手来讲,有一些地方可能不是很懂,之前在帮同事使用postman中也遇见到过此类情况。现总结一部分,以供参考,安装以及环境变量设置请看上一篇Postman之设置环境变量
最近在使用postman工具进行接口测试过程中,针对业务验证的接口验证的内容不同,自己使用的几种断言,以及积累查询百度文档对于断言常用的几种类型作个记录便于后期进行查询以及使用。postman日记之断言篇
在使用断言过程简单碰到了json字符串里有多个json我们想要断言其中一个 怎么断言 我们开看看吧 看看实例格式,这都是我们平常很常见的json格式。介绍一本书籍,欢迎购买使用。
{
"status":true,
"data":{
"name":"石某某",
"code":"20*****06",
"role":"J",
"all_roles":[
"P",
"J",
"M"
],
"delivery_center":{
"name":"&&&&&&&",
"code":"11111",
"status":"1"
},
"store_lists":[
{
"store_code":"xxxxx46",
"store_name":"xxxxxxxxxx寓店",
"is_join":"x"
},
{
"store_code":"xxxxx6",
"store_name":"xxxxxxxx店",
"is_join":"x"
},
{
"store_code":"xxxxxx0",
"store_name":"xxxxxx路店",
"is_join":"x"
},
{
"store_code":"7xxxxx5",
"store_name":"xxxxxxx商业街店",
"is_join":"x"
}
],
"error_code":0
}
}
像一般的情况如果我们断言data下面的某个字段是不是很简单就可以直接使用断言判断
例:
{
"status":true,
"data":{
"name":"石某某",
"code":"20*****06",
"role":"J",
"all_roles":[
"P",
"J",
"M"
],
"delivery_center":{
"name":"&&&&&&&",
"code":"11111",
"status":"1"
}
}
我们执行使用断言方法:
检查response body中JSON某个字段值
备注:response body:JSON value check
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value).to.eql(100);
});
//判断data json字符串中的name是否正确
pm.test("判断data json字符串中的name是否正确", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.data.name).to.eql("石某某");});
那么如果我们要判断data下面的那个store_lists字段下的多个json字符串怎么断言呢???
{
"status":true,
"data":{
"name":"石某某",
"code":"20*****06",
"role":"J",
"all_roles":[
"P",
"J",
"M"
],
"delivery_center":{
"name":"&&&&&&&",
"code":"11111",
"status":"1"
},
"store_lists":[
{
"store_code":"xxxxx46",
"store_name":"xxxxxxxxxx寓店",
"is_join":"x"
},
{
"store_code":"xxxxx6",
"store_name":"xxxxxxxx店",
"is_join":"x"
}
}
}
例如我们判断这个
//判断日周期数据store_lists字段,json中第二个字符串store_code是否为"xxxxx6"
pm.test("判断store_lists字段,json中第二个字符串store_code是否为xxxxx6", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.data.store_lists[1].store_code).to.eql("xxxxx6");
这里我们将这里的断言跟上面我们判断一个json层级你比较一下,发现什么不一样的地方吗?? 我们data下面的子json写法都一样,不过我们是在子层级后面加了一个“[]”里面 + 数字 0代表第一个json 1代表 第二个json;
然后后面也照常接上要断言的key值判断value是否匹配 ,自己可以拿实际场景 测试一下看下是不是这么回事,其实很简单,json不熟的前面说了,百度下学习下json~
pm.expect(jsonData.data.name).to.eql("石某某");});
pm.expect(jsonData.data.store_lists[1].store_code).to.eql("xxxxx6");
我们看看上面进行返回回来的结果,结果为pass ,拿起自己项目试试学习这个知识点
多个json怎么断言就是这些,根据相关工具的实际操作结合应用起来。后续会持续学习更新,欢迎关注!
本文来自:来源于公众号猪圈子-强势来袭-部门图片来源于网络,如有侵权请及时联系删除
想要学习接口测试系统视频加小编微信备注来意进行领取
长按或扫描上方图片进行关注
分享 | 转载 | 合作 | 投稿
添加微信:13266788131
分享到朋友圈就是最大的支持