jmeter响应断言

断言是验证服务器的返回请求的参数进行验证
释义:验证测试结果是否达到预期效果

断言页面

Apply to:
勾选第一个:主请求和子请求都进行验证,不好含heads验证
勾选第二个:主请求进行断言
模式匹配规则:
包括:包含下方字符串,可以使用正侧表达式
匹配:匹配下方字符串,可以使用正侧表达式
相等:等于下方字符串
字符串:包含下方字符串,不可以使用正侧表达式
否:取反测试模式的关键词
或者:对添加的测试模式取或者关系,一个满足条件即可true
测试模式:
add:添加多个匹配模式,默认是全部满足

JSON断言

释义:JSON断言可以对服务器返回的JSON文档进行验证。
JSON断言有两种使用模式
1.根据JSONPath能否在JSON文档中找到路径;
2.根据JSONPath提取值并对值进行验证。

使用:选择HTTP请求右键添加JSON断言:


image.png

诺文档格式为非JSON则断言失败;
诺找不到路径断言失败;
诺提取值与预期值不一致断言失败;

JSONPath语法元素

XPath JSONPath Description
/ $ 跟对象/元素
. @ 当前对象/元素
/ . or [] 子操作符
.. n/a JSON Path不支持父操作符
// .. 递归下降/ 选择所有符合条件的节点
* * 通配符,代表所有对象/元素
@ n/a JSON Path不支持属性访问
[] [] 下标运算,通过数组元素的下表访问数组元素
| [ , ] Union操作符,使用间隔的名称或数组下标生成子集
n/a [start:end:step] 数组切片
[] ?() 使用过滤表达式
n/a () 脚本表达式
() n/a JSON Path不支持分组

使用:
可以用察看结果树里的JSON Path Tester的结果进行输入JSONPath语句测试,语句是否可以获得到对应数据入下图:

察看结果树

语句使用:

$.data.dataList[1]
获取data下dataList数组下第1个数组内容
$.data.dataList[?(@.id==287)]
获取data下dataList数组里的id等于287的数据
$.data.dataList[*].id
获取data下dataList所有数组里的id属性
$.data.dataList[0].id
获取data下dataList第0个数组里的id属性
$.data.dataList[?(@.projectName=='播恩集团')]
获取data下dataList数组里的projectName等于 播恩集团 的数据
$.data.dataList[?(@.projectName)]
获取data下dataList数组里包含的projectName属性的数据
$..id
获取所有id属性的值

(注意这里不能写成=,要写成==)因为=是赋值,而==则是判断语句

你可能感兴趣的:(jmeter响应断言)