在循环控制器Jmeter中读取csv值

时间:2019-01-10 17:53:24

标签: loops csv jmeter

我在线程组中有一个循环控制器来读取一个csv文件,并且我想读取此csv文件中的所有行。 我将线程组配置如下:

  • 循环控制器(4次)
    • 读取csv文件(在EOF上回收:False,在EOF上停止线程:True,共享模式:所有线程)

我使用多个线程运行此方案:2

  • 使用第一个线程,读取CSV文件的第一行

  • 使用第二个线程,读取CSV文件的第二行

每次循环后,我从CSV文件获取的数据都没有更改,所以循环后如何读取csv的每一行(从第三行,...)?

1 个答案:

答案 0 :(得分:0)

您必须将CSV Data Set Config作为Loop Controller的子元素。
它适用于您指定的CSV数据集配置设置。 我创建测试计划:


    Thread Group
    Number of Threads = 2
        Loop Controller
        Loop Count = 4
            CSV Data Set Config
            Filename: ... (your csv-file here)
            Variable Names: number
            Delimiter: ,
            Recycle on EOF = False
            Stop Thread on EOF = True
            Sharing Mode = All threads
            JSR223 Sampler
            log.info(vars.get("number"));     // output ${number} variable values

每次循环时,我的“ CSV数据集配置”都会将行读入“数字”变量。
JSR223 Sampler将其值打印到Log Viewer。

我的CSV文件看起来像

1
2
3
4
5

因此,由于EOF上的Recycle为FALSE,EOF上的Stop线程为TRUE,因此第一个线程在循环中读取4行,第二个线程仅读取第5行,然后停止。

See the picture