【jmeter】断言,当响应结果是json格式时,用JSON Assertion更方便判断。

转自:https://www.cnblogs.com/dinghanhua/p/9823627.html

1 在请求上右键添加json断言

在这里插入图片描述

2 编辑json Assertion

在这里插入图片描述
A.Additionally assert value:添加验证的值,只有勾选了此复选框,才可以在Expected Value中设置期望的值。
B.Match as regular expression:匹配正则表达式,在期望的值中填写正则表达式,如果不勾选此项,在Expected Value中设置了正则表达式,则不进行匹配。
C.Expect null:期望值为null,如果期望的值为null,可以勾选此项。
D.Invert assertion(如果匹配的值存在,则断言失败,不匹配,则断言成功)。

判断方式:

如果响应结果不是json格式的,fail

如果json path找不到元素,fail

如果json path找到元素,没有设置条件,pass

如果json path找到元素了,不符合条件,fail

如果json path找到元素,且符合条件,pass

如果json path返回的是一个数组,迭代判断是否有元素符合条件,有则pass,无则fail

第一种 值匹配

值匹配成功示例:
在这里插入图片描述

在这里插入图片描述

值匹配失败示例:

在这里插入图片描述
在这里插入图片描述

第二种 正则匹配

正则匹配成功示例:
在这里插入图片描述

在这里插入图片描述

正则匹配失败示例:

在这里插入图片描述

断言fail,提示预期和实际结果不相符

在这里插入图片描述

第三种 预期为null

在这里插入图片描述
在这里插入图片描述

第四种 反转,上面的不符合pass,上面的有符合的fail

在这里插入图片描述

断言提示有点怪怪的。 感觉 failed that jsonpath $[0].TT matches 20181019 更好吧。因为匹配所以fail。

在这里插入图片描述

==========
示例:
在这里插入图片描述
json串:
在这里插入图片描述
1.取pageNo值: $.data.pageNo

2.取第一个id值:$.data.list[0].id

3.取第2个id值:$.data.list[1].id

4.匹配1213和1214两个值,
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值