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']