我在线程组中有一个循环控制器来读取一个 csv 文件,并且我想读取该 csv 文件中的所有行。我配置我的线程组如下:
我使用多个线程运行此场景:2
使用第一个线程,读取 CSV 文件的第一行
使用第二个线程,读取 CSV 文件的第二行
每次循环后,我从 CSV 文件获取的数据都没有更改,那么我如何在循环后读取 csv 的每一行(从第三行开始,...)?
您必须将CSV Data Set Config作为Loop Controller的子项。
它应该适用于您指定的 CSV 数据集配置设置。我创建测试计划:
线程组
线程数 = 2
循环控制器
循环计数 = 4
CSV 数据集配置
文件名:...(此处为您的 csv 文件)
变量名称:数字
分隔符:,
EOF 时回收 = False
在 EOF = True 时停止线程
共享模式 = 所有线程
JSR223采样器
log.info(vars.get("number")); // 输出${number}变量值
每次循环我的“CSV 数据集配置”都会将行读入“数字”变量。
JSR223 Sampler 将其值打印到日志查看器。
我的 CSV 文件看起来像
1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)
因此,由于 EOF 上的回收为 FALSE,EOF 上的停止线程为 TRUE,第一个线程在循环中读取 4 行,第二个线程仅读取第 5 行,然后停止。