跨线程组传递变量只能通过属性来传递,并且属性只能传字符串变量。
如果想传数组变量,需要先将数组转化为字符串,在下一个线程组再转化为数组。
【注意】在使用时要注意线程组的执行顺序。需要勾选测试计划里的独立运行每个线程组按钮。
一、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("变量名", "值") 全局变量赋值
原文地址:https://www.cnblogs.com/wuzm/p/10912145.html
时间: 2024-10-28 11:14:57