首页 > 解决方案 > 访问不同 JSR 采样器中的 Java 变量

问题描述

我有 10,000 个条目的 csv 文件。对于每次迭代,我想使用几百个条目。我仅在一次控制器下加载到 JSR223 采样器中的 java 列表中。这样,我可以加载一次并使用此主列表每次在其他 JSR223 采样器中检索记录块。我无法从不同线程组中的另一个 JSR223 采样器访问在一个 JSR223 采样器中定义的变量“totalrows”、“行”。除了使用 vars.get() 获取定义到 JSR223 采样器的变量的全局范围之外的任何其他方式

import org.apache.commons.io.FileUtils;   
List lines = FileUtils.readLines(new File("skuinfo.csv")); 

int totalrows = lines.size();

标签: jmeterjsr223

解决方案


变量是线程相关的,为了能够共享您需要使用属性(jsr223 测试元素中的道具)。

但我建议你不要使用这种方法,因为它会影响 JMeter 的性能,特别是如果你的代码没有正确开发。

您还需要处理同步,因为对象将在线程之间共享。

所以最好使用JMete的内置机制,即CSV DataSet,并在测试前准备好数据。


推荐阅读