我有一个.csv文件,其中包含员工姓名的多个条目。现在我想在jmeter中的jmx脚本中读取.csv文件。它应该是我的jmx脚本的每个线程从.csv文件中读取不同值的方式。然后我想在HTTP请求中使用这些单元格值。
我正在使用Bean Shell预处理器。但它对我没有帮助。下面是我为它编写的代码
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
CSVReader reader = new CSVReader(new FileReader(C:/Users/manoj/Downloads/View_All_names.csv));
String[] row;
String name;
while ((row = reader.readNext()) != null)
{
name = row[1];
}
值“name”我想在我的HTTP请求中使用它.DO我必须在测试计划中提到这个属性“name”吗?
感谢任何帮助。
答案 0 :(得分:1)
首先,您是否了解__CSVRead()功能?您应该能够在需要CSV文件值的位置直接使用它,而无需编写任何代码。
万一你出于任何原因仍然想要Beanshell。
您从哪里获得上述代码?如果CSVReader
代表来自ph-commons-6.2.4.jar
的{{3}} - 您需要稍微改变一下,例如使用com.helger.commons.csv.CSVReader代替字符串数组:
import com.helger.commons.csv.CSVReader;
CSVReader reader = new CSVReader(new FileReader("C:/Users/manoj/Downloads/View_All_names.csv"));
List row;
String name;
int counter = 1;
while ((row = reader.readNext()) != null) {
name = row.get(1).toString();
vars.put("name_" + counter, name);
counter++;
}
在Beanshell PreProcessor完成其工作后,您将能够访问变量值,如:
${name_1}
${name_2}
${name_3}
vars
代表List类的实例,它提供对范围内JMeter变量的读/写访问。有关JMeter测试中Beanshell脚本的更多信息,请参阅JMeterVariables文章。
答案 1 :(得分:0)
您只需要放置一个CSV Data Set Config组件,它就会为您读取条目。每个线程(用户)的每一行。在组件中,您需要指定稍后将在测试计划中使用的变量名称,以及.csv文件的路径。
如果您将变量名称设置为“name”(没有引号),您将在要使用它的请求/采样器中使用$ {name}。
答案 2 :(得分:0)
从jMeter中的excel捕获列值的简单方法
只需在excel列中明智地插入数据,即水平插入所有数据并使用
${__CSVRead(filePath,ColNum)}