您的位置:首页 > Web前端 > JavaScript

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

2019-02-19 17:59 1331 查看

转自: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

第一种 值匹配

值匹配成功示例:

4000

值匹配失败示例:


第二种 正则匹配

正则匹配成功示例:

正则匹配失败示例:

断言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两个值,

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: