Jmeter:上传excel,硬编码值

我已经logging了一个excel上传的场景,在接下来的请求中,那些excel中的logging作为parameter passing。

但是,假设我需要改变excel,那么这个请求将如何获得新的价值呢?

参数化似乎不是答案,因为有大量的值。

请帮助。

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

  1. 下载Apache Tika二进制文件(tika-app – *。jar)并将其放到JMeter的/ lib文件夹中。 如果JMeter正在运行,请重新启动它
  2. 添加一个Beanshell预处理器作为你想要修改的基于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); 

参考文献:

  • Apache POI用户API(HSSF和XSSF)
  • 如何使用POI从Excel文件读取?
  • 如何使用BeanShell:JMeter最喜欢的内置组件