如何在JMeter中的while循环中使用CSV数据集配置?

use*_*083 6 csv jmeter while-loop

我需要针对5到10台服务器测试同一组URL.URL在CSV文件中定义.服务器名称在"用户定义的变量"配置中定义.

我正在使用While Controller根据服务器的数量来迭代并执行url请求.我目前的逻辑定义如下:

Thread group
  While controller
   Counter (defines number of servers)
   While controller (inner check "${URL}" != "<EOF>")
     CSV Data Set Config (stop EOF is true)
       HTTP Sampler (with url data)
Run Code Online (Sandbox Code Playgroud)

按照逻辑,我的脚本将运行并读取一次CSV文件并停止.它不是在读取外循环.只有内循环并停止.

Gáb*_*ták 15

JMeter CSV数据集手册中引用:

默认情况下,文件只打开一次,每个线程将使用文件中的不同行.但是,行传递给线程的顺序取决于它们执行的顺序,这可能在迭代之间有所不同.在每次测试迭代开始时读取行.在第一次迭代中解析文件名和模式.

线程组不能嵌套.因此,您必须使用线程组迭代CSV并使用foreach迭代其他内容.第二个选项是生成具有URL + Server变体的CSV,并使用单个线程组来读取CSV.

第一个选择就在这里.

迭代URL外循环,迭代服务器内循环.你只需要一个线程组和一个foreach.看图片: 用户定义的变量(服务器) 在此输入图像描述 在此输入图像描述 在此输入图像描述

样品结果: 在此输入图像描述 在此输入图像描述 在此输入图像描述

当然还有3个结果......

如果你有时间,你也可以玩CSVRead功能 :)