Jmeter的json提取器(包括提取一个参数的所有值,提取多个参数

jmeter的json提取器(包括提取多个参数,提取一个参数的所有值)https://www.cnblogs.com/jxial/p/15175314.html

在工作中经常遇到这种情况,就是下一个接口需要引用上一个接口返回的值,普遍的方法就是运用后置提取器

常用的就是 json提取器,边界提取器,正则表达式提取器这三种,不能满足时还可以用xpath提取器,Bean Shell后置处理器等等,一般来说这三个就够用了

下面简单使用一下这三种提取器:

1)json提取器:

请求右键添加-后置处理器-json提取器

看下字段含义:

绝对路径提取:

相对路径提取:--上级直接用.代替

提取出来后在后续的接口可以通过${变量名}调用,此处的变量名填写提取器中的Names of created variables中的值

不确定Json表达式是否正确的情况下,可以在查看结果集中进行调试,如下,切换JSON Path Tester,在表达式输入框中输入json提取表达式,点击test,下方显示提取的结果:

验证提取器是否成功提取到数据,还可以在请求右键-添加-后置处理器-调试后置处理器,然后执行,在查看结果集会发现请求多了个子集,点击后响应数据拖到最后可看到提取到的变量值

如果是下一个请求需要关联上一个请求的多个字段,那么可以添加多个提取器,但是jmeter也支持一个提取器提取多个字段的值,只需要原来变量的地方填写多个,中间用分号隔开即可,如下:

如果想匹配到一个字段所有的值(返回结果有多个子集的时候),可以通过配置Match No.(0 for Random)为-1,代表匹配全部

配置完成之后其他接口要提取里面的内容,可以通过${fh_id_0}获取第一个值------规则和python的切片类似

$.data.recordList[*].code[0]----第一个code

$.data.recordList[*].code[0]----倒数第二个code

$.data.recordList[*].code[0,1]----前两个code

注意:提取多个值,提取器的 Match No.(0 for Random)必须是-1

工作中还会遇到需要按照条件取值的情况-----表达式:[?(expression)]

$.data.recordList[*].code[?(@.test)]------提取code中包含test的记录

$.data.recordList[*].code[?(@.voucher_time>'2021-08-01')]------提取reg_time字段大于2021-08-01的记录

$.data.recordList[*].code[?(@.desc=~/.*测试.*?/i)]------提取desc字段中包含测试的记录

$.data.recordList[*].code[?(@.sex)]------提取sex字段为0的记录

得到的值为result={"id":"2391771870614016","code":"66BG-0000000000-20210817-000000"}

勾选compute concatenation var和不勾选的区别:

1、引用变量值的时候,下标从1开始标识提取第一个,不勾选时下标为0表示第一个

2、可以通过变量名_ALL得到全部的值

相关推荐
张彦峰ZYF2 分钟前
Java+Python双语言开发AI工具全景分析与选型指南
java·人工智能·python
可儿·四系桜2 分钟前
Kafka从入门到精通:分布式消息队列实战指南(Zookeeper 模式)
java·开发语言·zookeeper·kafka
GIS之路2 分钟前
ArcGIS Pro 添加底图的方式
前端·数据库·python·arcgis·信息可视化
Mo_jon3 分钟前
vite + vue 快速构建 html 页面 (舒适编写html文件)
前端·vue.js·html
alonewolf_995 分钟前
深入理解Redis线程模型:单线程神话与原子性实战
数据库·redis·缓存·分布式架构
小北方城市网5 分钟前
SpringBoot 集成 Redis 实战(缓存优化与分布式锁):打造高可用缓存体系与并发控制
java·spring boot·redis·python·缓存·rabbitmq·java-rabbitmq
步步为营DotNet5 分钟前
深度解析.NET 中Nullable<T>:灵活处理可能为空值的类型
java·前端·.net
努力d小白5 分钟前
leetcode49.字母异位词分组
java·开发语言
五阿哥永琪7 分钟前
MySQL面试题 事务实现全解析:Undo Log、Redo Log、锁与 MVCC 协同机制详解
数据库·mysql
爱笑的rabbit7 分钟前
Linux和Windows的word模板导出转PDF下载保姆级教程,含PDF图片处理
java·spring