我是靠谱客的博主 害怕小蚂蚁,这篇文章主要介绍postman之在tests断言中使用for循环断言和断言空,现在分享给大家,希望可以做个参考。

一,tests断言中使用for循环断言
1,在使用postman判断过程中,想要实现这么一个场景的判断:
因为banner位置的配置是多变的,可以不配置,可以配置一个,也可以配置多个。在接口检测判断过程中想要通过for循环对banner列表中的每个banner信息进行检测,比如检测banner图片和跳转链接不为空。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{ "errno": 0, "errmsg": "操作成功", "data": { "banner": [ { "sort": 1, "btime": "2020-03-20 15:43:51", "etime": "2022-03-20 15:43:51", "pic": "https://p6.nicaifu.com/bxpolicyimg/202001/q4iema5e2846826aa1e.gif", "clickUrl": "http://test.www.baidu.com/#/111", "minversion": "1.0", "maxversion": "2.0" }, { "sort": 2, "btime": "2020-03-23 20:34:42", "etime": "2022-03-20 15:43:51", "pic": "", "clickUrl": "http://test.www.baidu.com/#/222", "minversion": "1.0", "maxversion": "2.0" }, { "sort": 3, "btime": "2020-03-24 13:27:06", "etime": "2022-03-20 15:43:51", "pic": "https://p6.nicaifu.com/bxpolicyimg/202002/q6axux5e5637e905932.jpeg", "clickUrl": "http://test.www.baidu.com/#/222", "minversion": "", "maxversion": "" } ] } }

2,想法是对banner是否为空列表判断,不为空则循环每个banner进行详细判断,但是实际结果确不是自己想要的。明明有3个banner,应该循环执行三次,但是只判断了一次,
在这里插入图片描述
一开始怀疑是postman内变量没被清空的原因,但是日志打出来看到实际是获取到了每个banner信息的图片和链接信息的
在这里插入图片描述

3,后来经过排查发现是postman的tests断言引起的,换成下面这种方式就可以了。需要在tests中的每个名称都是唯一的,否则就不会被执行断言

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
var banner=data.data.banner if (banner!==[]){ for(i in banner ){ var banner_pic=banner[i].pic; var banner_url=banner[i].clickUrl tests["验证banner图片不为空"+i]=banner_pic !== ""; tests["验证banner跳转链接不为空"+i] =banner_url !==""; console.log(banner_pic) console.log(banner_url) } }

在这里插入图片描述
在这里插入图片描述
二,断言不为字段值不为空的使用
最开始使用的是下面的方法,但是发现即使返回的响应数据中没有data.data.haha字段,也不会报错,还正常断言通过了,这是有问题的
后来改用xx.length的方式获取字符串或列表长度,然后通过判断长度是否为0来判断是否是空

复制代码
1
2
3
4
5
//错误使用 tests["验证返回信息haha不为空"] = data.data.haha !== ''; //正确使用 tests["验证返回信息haha不为空"] = data.data.haha.length !== 0;
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
//接口返回数据 { "errno": 0, "errmsg": "操作成功", "data": { "headImg": "http://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTIRiaVFeh0bJgCGdicaUSmCQ7mj1gJahoy4NP3aYjJ2hmqFW29btxExJAsyiciaoPBjQiaXbtk3lJAchaQ/132", "nickName": "姓名36", "mobile": "188****1841", "uid": "108292929292", "realMobile": "18800000841" } }

断言
在这里插入图片描述
使用xx.length会直接发现错误
在这里插入图片描述

最后

以上就是害怕小蚂蚁最近收集整理的关于postman之在tests断言中使用for循环断言和断言空的全部内容,更多相关postman之在tests断言中使用for循环断言和断言空内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部