Jmeter跨线程组传递变量

Posted wuzm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter跨线程组传递变量相关的知识,希望对你有一定的参考价值。

跨线程组传递变量只能通过属性来传递,并且属性只能传字符串变量。

如果想传数组变量,需要先将数组转化为字符串,在下一个线程组再转化为数组。

【注意】在使用时要注意线程组的执行顺序。需要勾选测试计划里的独立运行每个线程组按钮。

一、beanshell自带方法

props.put("变量名","值") 全局变量赋值
props.get("变量名") 获取全局变量
这里简单介绍一个例子,从线程组1里传递给线程组2 字符串:hao123。

 1)使用正则提取器提取出hao123,并且引用变量名为id。

技术图片

2)使用beanshell后置处理器,获取id,使用props.put()并且把id保存为一个全局变量,变量的名称为"idname",即jmeter的属性。

技术图片

 3)案例:如图使用第三种方法在下一个线程组2使用beanshell内置对象调用:${__BeanShell(props.get("idname"),)}

方法1:${__P(idname,)}

方法2:${__property(idname,,)}

方法3:${__BeanShell(props.get("idname"),)}

技术图片

4)查看结果树,取样器结果为hao123,调用成功。

技术图片

二、beanshell自带方法

jmeter自带函数__setProperty
${__setProperty(变量名,值} 全局变量赋值
在下个线程组里调用方法和上面那个方法一致。
技术图片

三、调用java方法

JMeterUtils.setProperty("变量名", "值") 全局变量赋值

技术图片

 

以上是关于Jmeter跨线程组传递变量的主要内容,如果未能解决你的问题,请参考以下文章

[存]Jmeter 如何实现跨线程组传递参数

jmeter跨线程组传递token

JMeter接口测试-跨线程组取参数值

Jmeter函数作用域实时取值覆盖[针对HTTP Request等控制器]

jmeter 多线程组间变量共享

Jmeter — 跨线程组传递参数