Jmeter:上传excel,硬编码值

时间:2015-03-14 10:09:00

标签: excel file-upload jmeter parameterization

我已经记录了一个上传excel的场景,在下一个后续请求中,excel中的这些记录作为参数传递。

但是假设我需要更改excel,该请求将如何获取新值?

由于大量的值,参数化似乎不是答案。

请帮助。

1 个答案:

答案 0 :(得分:1)

如果需要从Excel文件中提取某些值并将其添加为HTTP请求参数,则可以使用以下方法。

  1. 下载Apache Tika二进制文件(tika-app - * .jar)并将其放到JMeter的/ lib文件夹中。如果正在运行,请重新启动JMeter
  2. 添加Beanshell PreProcessor作为请求的子项,根据Excel文件值修改哪些参数
  3. 在“脚本”中开发代码,该代码读取Excel文件并将其作为HTTP请求参数添加。下面的示例代码从testfile.xlsx文件的A1和B1单元格中提取值,并将它们作为“foo”和“bar”HTTP请求参数发送。

    import org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy;
    import org.apache.poi.ss.usermodel.Cell;
    import org.apache.poi.xssf.usermodel.XSSFRow;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    
    import java.io.File;
    import java.io.FileInputStream;
    
    FileInputStream excelFile = new FileInputStream(new File("/path/to/excel/testfile.xlsx"));
    XSSFWorkbook workbook = new XSSFWorkbook(excelFile);
    XSSFSheet sheet = workbook.getSheetAt(0);
    XSSFRow row = sheet.getRow(0);
    Cell a1 = row.getCell(0);
    String a1Value = a1.getStringCellValue();
    Cell a2 = row.getCell(1);
    String a2Value = a2.getStringCellValue();
    
    excelFile.close();
    
    sampler.addArgument("foo",a1Value);
    sampler.addArgument("bar",a2Value);
    
  4. 参考文献: