jemeter中json提取器
1、A接口中的单个参数提取,之后用于其他接口
a. 在需要提取字段的接口上右击添加----后置处理器-----json extractor
b. 填写json提取器的数据
1.名称:随便填写,方便自己记录信息,必传
2.apply to: 应用范围,使用默认的即可(仅对当前元件生效)
3.variable names: 后续接口使用该字段时的使用名,必传(后续使用规则为:${userid})
4. json path expression:json path 表达式,用来提取某个值,必传(按照json的结构表达式填写对应的数据)
4.1 绝对路径(查看结果树----格式修改为json path tester----输入自己的表达式-----点击右侧test可直接检查)
4.2 相对路径(查看结果树----格式修改为json path tester----输入自己的表达式-----点击右侧test可直接检查)
5. match no (0 for random):0:随机默认;-1所有数值;1第一个数值;非必传
5.1 json表达式结果是确定的单个数值:填写1即可,表达式会正常返回获取的数值
5.2 json表达式结果是多个数值:
0随机拿取其中一个;
1是拿取第一个数据;
-1用逗号分隔返回搜索到的所有数据;
6. compute concatenation.var:如果匹配到多个值,则将它们都连接起来,不同值之间用,分割开
7. default values: 默认数据,当没有获取到具体数据的时候会使用改数据兜底
c. 后续接口单独使用该数据
2、A接口中多个参数提取,之后用于其他接口
a. 在接口上右击添加----后置处理器-----json extractor(如上图,不再赘述)
b. 填写json提取器的数据(如上图数据含义,不再赘述)
1.填写数据的4个地方都必须保持数据数量一致
2.都以分号隔开数据
c. 后续接口只用单个数据
d. 后续接口2个数据共同使用
3、接口中提取满足特定条件的表达式
本文参考的实例json表达式如下:
a. 提取data的所有startconfig下的所有id
$.data.startConfigData.actionLabelConfigList[*].id
b. 提取actionLabelConfigList下面第2组数据的id和gravityEnabled(相对路径和绝对路径都可以)
$.data.startConfigData.actionLabelConfigList[1].['id','gravityEnabled']
$..actionLabelConfigList[1].['id','gravityEnabled']