Jmeter:上传 excel,硬编码值
Jmeter : upload excel, hard coded values
我已经记录了一个excel上传的场景,在下一个后续请求中excel中的那些记录作为参数传递。
但是假设我需要更改 excel ,该请求将如何采用新值?
参数化似乎不是答案,因为值的数量很大。
请帮忙。
如果您需要从 Excel 文件中提取一些值并将它们添加为 HTTP 请求参数,您可以使用以下方法。
- 下载 Apache Tika 二进制文件 (tika-app-*.jar) 并将其放到 JMeter 的 /lib 文件夹中。如果是 运行
,请重新启动 JMeter
- 添加一个 Beanshell PreProcessor 作为您要根据 Excel 文件值修改哪些参数的请求的子项
在 "Script" 中是开发代码,它读取 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);
参考文献:
我已经记录了一个excel上传的场景,在下一个后续请求中excel中的那些记录作为参数传递。
但是假设我需要更改 excel ,该请求将如何采用新值?
参数化似乎不是答案,因为值的数量很大。
请帮忙。
如果您需要从 Excel 文件中提取一些值并将它们添加为 HTTP 请求参数,您可以使用以下方法。
- 下载 Apache Tika 二进制文件 (tika-app-*.jar) 并将其放到 JMeter 的 /lib 文件夹中。如果是 运行 ,请重新启动 JMeter
- 添加一个 Beanshell PreProcessor 作为您要根据 Excel 文件值修改哪些参数的请求的子项
在 "Script" 中是开发代码,它读取 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);
参考文献: