jmeter - 访问不同 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();
解决方案
变量是线程相关的,为了能够共享您需要使用属性(jsr223 测试元素中的道具)。
但我建议你不要使用这种方法,因为它会影响 JMeter 的性能,特别是如果你的代码没有正确开发。
您还需要处理同步,因为对象将在线程之间共享。
所以最好使用JMete的内置机制,即CSV DataSet,并在测试前准备好数据。
推荐阅读
- java - 有没有办法通过终端命令行监控垃圾收集器?
- python - 如何在某些特定字符串之后查找字符?[化学代码]
- laravel - Laravel - 如何动态解析具有不同命名空间的模型实例?
- excel - 复制工作表会弄乱数据验证
- python - selenium.common.exceptions.WebDriverException:消息:通过 Python 使用 Selenium 与 ChromeDriver 和 Chrome 的会话 ID 无效
- python - 长芹菜任务导致 Django 中的 MySQL 超时 - 选项?
- contacts - 定义了 VCF TYPE=pref 的标准源(作为媒体的首选)?
- angular - 有没有办法用 devextreme angular 向手风琴添加一个按钮?
- clips - 如何添加全局变量来计算是或否响应的数量?
- c# - 如何在父标签页 xamarin 表单中更新徽章计数器