Performance JMeter-如何循环通过;bsh.shared”一词;单线程组中的ArrayList?
我在安装线程组下有一个BeanShell后处理器。 我将ArrayList放入“bsh.shared”命名空间中,如下所示:Performance JMeter-如何循环通过;bsh.shared”一词;单线程组中的ArrayList?,performance,arraylist,jmeter,beanshell,Performance,Arraylist,Jmeter,Beanshell,我在安装线程组下有一个BeanShell后处理器。 我将ArrayList放入“bsh.shared”命名空间中,如下所示: List personIdsList = new ArrayList(); ... bsh.shared.personIds = personIdsList; 我知道如何通过BeanShell函数读取值,如下所示: ${__BeanShell(bsh.shared.personIds)} 我想在另一个线程组中循环这个数组。(${personId}-它应该从列表中迭代值
List personIdsList = new ArrayList();
...
bsh.shared.personIds = personIdsList;
我知道如何通过BeanShell函数读取值,如下所示:
${__BeanShell(bsh.shared.personIds)}
我想在另一个线程组中循环这个数组。(${personId}-它应该从列表中迭代值)
你能告诉我怎么做吗
谢谢 最简单的方法是与测试元件一起使用,如:
${{u BeanShell(Integer.parseInt(vars.get(“counter”))
- 开始:
0
- 增量:
1
- 最大值:
${BeanShell(bsh.shared.personIds.size()-1,)}
- 参考名称:
计数器
${{BeanShell(bsh.shared.personIds.get(Integer.parseInt(vars.get(“counter”)),)}
必要时非常感谢您的解决方案!这非常有帮助,但我有一个问题。在第一次迭代期间,计数器值未知。对此有什么解决方案吗?请使用${counter}而不是Integer.parseInt(vars.get(“counter”))使用${counter},这样您的BeanShell表达式将看起来像:${u BeanShell(bsh.shared.personIds.get(${counter}),}
${__BeanShell(Integer.parseInt(vars.get("counter")) < bsh.shared.personIds.size()-1,)}