How can I upload xls file in jmeter?

时间:2016-08-31 12:28:14

标签: jmeter jmx jmeter-plugins

I have enroll students via bulk upload process through xls document in my application. Can you explain step by step process for upload student details through xls document in Jmeter3.0.

Thanks, Vairamuthu.

1 个答案:

答案 0 :(得分:0)

据我所知,JMeter不提供直接从xls上传的采样器。

所以我建议将输入文件转换为CSV并使用Config元素“CSV Data Set Config”。你可以在互联网上找到很多step-by-step examples

无论如何,您可以使用Apache Tika和BeanShell(sampler,根据您的需求和测试计划预先或后期处理器读取xls文件。

这是一个使用HTTP请求采样器读取xls文件(或更通用的二进制文件)的示例:

  • 下载tika-app.jar(JMeter 3.0使用版本1.12 tika-app-1.12.jar
  • 将tika-app.jar文件复制到jmeter / lib目录。

  • 重新启动JMeter

  • 打开JMeter测试计划并添加Thread group

  • 添加“HTTP请求”采样器。

    • 将“Protocol [http]”字段设置为“file”。

    • 将“路径”字段设置为文件路径名(例如/mathath/Students.xlsx) enter image description here

  • 嵌套到“HTTP Request”添加“BeanShell PostProcessor”

    • 在“脚本”区域中添加以下代码(假设在此示例中,您的xls文件具有工作表“Sheet1”,三列,第一行作为标题);它读取文件并设置A1,B1,C1 jmeter变量:
import org.apache.jmeter.threads.JMeterVariables;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

try {

   InputStream in = new ByteArrayInputStream(data);
   Workbook wb = new XSSFWorkbook(in);
   in.close();
   Sheet sheet1 = wb.getSheet("Sheet1");
   Row row = sheet1.getRow(1);
   Cell a1 = row.getCell(0);
   Cell b1 = row.getCell(1);
   Cell c1 = row.getCell(2);
   vars.put("A1", a1.getStringCellValue());
   vars.put("B1", b1.getStringCellValue());
   vars.put("C1", c1.getStringCellValue());
}

catch (Throwable ex) {
   log.error("Failed ", ex);
}

enter image description here

  • 在“HTTP Request”采样器下方,在同一级别添加“Debug” 采样器和“查看结果树”以查看变量(A1,B1,C1)

enter image description here

这只是关于在JMeter中读取xls的示例,然后您可以决定从这里开始获取有用的东西。

另请参阅BlazeMetertech-doing.com

中的这些文章