Jmeter 跨线程组的全局变量

步骤如下:

1. 创建一个局部的变量(线程组内),例如:用json提取器获取登录响应中的token
2. 创建全局变量(跨线程组),例如:使用Beanshell调用创建的局部变量token,并将全局变量命名为newtoken。这里可以用Beanshell取样器或者Beanshell后置处理器。
3. 跨线程组调用全局变量
  方法1:${__P(newtoken)}; //调用全局变量
  方法2:${__property(newtoken)}; //也可以这样调用全局变量,和上面的写法是等价的
  方法3:Beanshell前置处理器-将newtoken拿过来赋值给token1,然后可以${token1}引用
      String a1=props.get("newtoken");
      vars.put("token1",a1

举例:

目标:在线程组2中,使用线程组1的token

1. 创建局部变量token_zy

 2. 创建全局变量

1)创建BeanShell Sampler

 2) 将局部变量token_zy赋值给全局变量newtoken

   ${__setProperty(newtoken,${token},)}

 3. 在线程组2中,应用全局变量

1) 创建BeanShell PreProcessor

 2) 将全局变量newtoken赋值给变量token_zy1

String a1=props.get("newtoken");
vars.put("token_zy1",a1)

 3)使用token_zy1

 4. 运行,查看结果,OK啦 ~

原文地址:https://www.cnblogs.com/xiaochongc/p/15672861.html