gpt4 book ai didi

jmeter - 如何在 JMeter 中将 csv 文件与 ForEach Controller 一起使用

转载 作者:行者123 更新时间:2023-12-02 09:24:02 27 4
gpt4 key购买 nike

我正在 JMeter 中进行教师工具测试。我的 .csv 文件中有 30 个条目。我想通过线程一的任何逻辑 Controller 迭代前 10 个条目,并通过第二个线程的相同 Controller 迭代其他 10 个条目,并且此过程应该重复 3 个线程。在逻辑 Controller 内部我有 http 采样器。

线程组 (3)- csv 配置文件- foreach Controller (1-10)- http 采样器-

repeat foreach loop controller(11-20)

最佳答案

据我了解您的问题,您需要以下内容:

  1. 从 CSV 文件读取所有值
  2. 对于第一个线程,迭代前 10 个条目
  3. 对于第二个线程,迭代第二个 10 个条目
  4. 等等。

为了实现这一点,您需要以下测试计划结构:

  • 线程组 - 定义虚拟用户线程、循环、启动等。
    • Beanshell Sampler - 将 CSV 文件读入 JMeter 变量
    • 如果 Controller 1(第一个线程条件)
      • ForEach Controller 1
      • HTTP 请求
    • 如果 Controller 2(第二个线程条件)
      • ForEach Controller 2
      • HTTP 请求
    • 等等。

关于详细配置

Beanshell 采样器

将以下代码放入 Beanshell Sampler Script 区域:

BufferedReader br = new BufferedReader(new FileReader("/path/to/your/file.csv"));
String line;
int counter = 1;
while ((line = br.readLine()) != null) {
vars.put("VAR_" + counter, line);
counter++;
}
br.close();

上面的代码将从 file.csv 读取所有行并将其存储到 JMeter 变量中,例如:

VAR_1=first line of your CSV file
VAR_2=second line of your CSV file
VAR_3=....

如果 Controller 1

如果您希望此 Controller 下的任何内容适用于第一个用户,只需设置以下条件:

${__threadNum}==1

ForEach Controller 1

如果您希望第一个线程从 CSV 文件中读取前 10 行,请按如下方式配置 ForEach Controller 1:

  • 输入变量前缀:VAR
  • 循环的起始索引:0
  • 循环结束索引:10
  • 输出变量名称:任何有意义的名称,即 CURRENT_VAR

HTTP 请求 1

根据需要将当前行引用为 ${CURRENT_VAR}

希望它足够清楚。

引用资料和操作方法:

关于jmeter - 如何在 JMeter 中将 csv 文件与 ForEach Controller 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25471846/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com