Testing JMeter |如何定义变量,使其作用域位于BeanShell中的{thread,thread Group,Test Plan}中

Testing JMeter |如何定义变量,使其作用域位于BeanShell中的{thread,thread Group,Test Plan}中,testing,jmeter,beanshell,Testing,Jmeter,Beanshell,我正在尝试编写一个测试计划,其中根据采样器上的文本生成一个自定义报告。我无法在这三个级别中正确地确定变量的范围 loc = vars.get("local_count"); if(loc == null){ vars.put("local_count", "1");//available only in local thread level }else{ temp = Integer.parseInt(loc) + 1; vars.put("local_count", temp

我正在尝试编写一个测试计划,其中根据采样器上的文本生成一个自定义报告。我无法在这三个级别中正确地确定变量的范围

loc = vars.get("local_count");
if(loc == null){
   vars.put("local_count", "1");//available only in local thread level
}else{
   temp = Integer.parseInt(loc) + 1;
   vars.put("local_count", temp.toString());
}
log.info("the local count is " + vars.get("local_count");

glo = props.get("global_count");
if(glo == null){
   props.put("global_count", "1");//available in test plan level
}else{
   temp1 = Integer.parseInt(glo) + 1;
   props.put("global_count", temp1.toString());
}
log.info("the global count is " + props.get("global_count");
现在尝试创建多线程组,并在每个线程组中添加此BeanShell采样器

如何使变量仅在线程组的所有线程中可用(不在其他线程组中)。在不同线程组中提供常量唯一名称不是一个选项

谁能帮帮我吗。
提前感谢。

添加BeanShell取样器并插入此代码:

vars.put("test","abcd");

该变量的作用域将仅为线程级别。如果在多个线程中运行脚本,并且在每个线程中以不同的方式修改变量(附加单独的字符),则log.info()将返回结果并查看,它将无法按预期工作。您是否得到此问题的答案?使用vars.put已起作用。