转自: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两个值,