专业编程基础技术教程

网站首页 > 基础教程 正文

jmeter提取结果中的多个值作为变量

ccvgpt 2025-03-30 14:39:48 基础教程 6 ℃


在用jemter编写性能测试脚本过程中,往往有很多接口需要依赖上个接口的返回值,当只需要上个接口中的一个返回值时,其实很方便处理。相对难一些的是依赖上个接口返回值是多个的情况,此时用两种方法获取接口返回值中多个变量的值。

jmeter提取结果中的多个值作为变量

场景描述:现在有一个接口返回值如下,后续接口中,需要用到counterCode和counterName两个字段

json提取器提取多个结果值

在jmeter中添加json提取器,在json提取器中变量名称中填写多个变量值,json表达式同样填写多个表达式,且json表达式和变量值一一对应,中间用分号隔开,特别注意的是在json提取器中的Default Values中的值需要填写,变量值是几个,Default Values就需要写几个默认值,同样用分号隔开,内容自己根据实际情况来定。

上面的提取方式有个问题,在用*号的时候,配合下面的0,表示的是提取结果中的随机一个,这样一来就会出现counterCode和counterName不是同一条数据返回来的,为了解决这个问题,可以添加前置处理器用户参数,在这里定义变量,然后再json提取器中使用变量即可解决。

处理之后,可以在json提取器中引用变量

至此,json提取器提取多个变量值成功完成

正则表达式提取多个变量

同样对上述接口返回值,用正则表达式提取器就可以写成如下

其中

引用名称:表示的是整个正则表达式提取的值存放的变量,不管是多少个,只需要写一个变量

正则表达式:填写表达式,需要提取的值用括号括起来,里面照抄就行

模板:表示提取的值中的第几个,$1$表示提取的值中的第一个,提取完的结果是

在后续接口中引用时只需要使用变量counter_g1和counter_g2即可,counter_g2表示提取的变量值有几个,本例中提取的值有2个,所以值为2。



原文链接:
https://blog.csdn.net/qq_41500249/article/details/120776828

最近发表
标签列表