如何在jmeter中使用.csv文件的单元格值?

问题描述:

我有一个.csv文件,其中包含员工名称的多个条目。现在我想读取jmeter中jmx脚本中的.csv文件。它应该以我的jmx脚本的每个线程从.csv文件读取不同值的方式进行。然后我想在HTTP请求中使用这些单元格值。如何在jmeter中使用.csv文件的单元格值?

我正在使用Bean Shell预处理器。但它是没有帮助的me.The下面是我为它

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]; 

      } 

值“名”写代码,我想用它在我的HTTP请求then.DO我不得不提到这个属性“名称“在测试计划中?

任何帮助表示赞赏。

首先,你是否知道__CSVRead()功能?您应该可以直接在需要CSV文件的地方使用它,而无需编写一行代码。


以防万一你仍然想要Beanshell出于任何原因。

  1. 你需要围绕的路径,CSV文件用引号
  2. 你需要编写所得到的值到JMeter的变量以备后用。
  3. 你从哪里得到上面的代码?如果CSVReader代表com.helger.commons.csv.CSVReaderph-commons-6.2.4.jar - 你需要使用它一点点不同,例如,使用List而不是字符串数组即:

    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的预处理器完成其工作,你将能够访问的变量值像:

    • ${name_1}
    • ${name_2}
    • ${name_3}

vars代表JMeterVariables类的一个实例,其提供读在范围JMeter的变量/写访问。有关JMeter测试中的Beanshell脚本的更多信息,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component文章。

所有你需要的是把一个CSV Data Set Config组件,它会为你读取条目。每个线程(用户)的每一行。在组件中,您需要指定稍后在测试计划中使用的变量名称,以及.csv文件的路径。

CSV Data Set Config

如果你把变量名称,比如“名”(瓦特/引号),你会使用$ {name}的请求/取样器要使用它。

enter image description here