Jmeter跨线程组之间如何共有变量

1、跨线程组之间变量不共享,即使在线程组最外层设置也不支持,解决方案:

通过 后置处理器-BeanShell 后置处理程序,将Jmeter变量设置Jmeter属性变为全局的来解决

(1)通过BeanShell后置处理器获取正则表达式提取的变量值,BeanShell处理器获取提取的变量值有以下两种写法

写法一:脚本内容写如下代码

String token = vars.get("token");
log.info(token);//打印日志

写法二:直接引用正则表达式提取出来的变量值:${token}

 查看日志内容确认BeanShell后置处理器是否获取到变量值

 (2)BeanShell后置处理器中写如下代码将获取到的变量值设为全局属性


String token = vars.get("token");
props.put("token",token);
log.info(token);//打印日志

(3)引用Jmeter属性使用函数助手中的_P()函数,属性名称写入BeanShell提取的变量名称,点击生成后将值填入需要引用此变量的线程组中即可

(4)执行脚本,最外层添加监听器-察看结果树中可看到已取到上一个线程组的变量

2、跨线程组之间cookie不共享,即使在线程组最外层设置也不支持,解决方案:

方法一:修改jmeter安装路径bin目录下的jmeter.properties文件:CookieManager.check.cookies=true 并去除注释符号#,保存重启

方法二:通过beanshell后置处理程序,将Jmeter变量设置Jmeter属性变为全局(与上述变量共享方法一致)

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>