Java 通过Excel中的多个工作表输入Jmeter SOAP/XML-RPC请求
我的问题: 我所有的测试数据都放在excel+多张表格中。我试图读取excel数据并将其作为用户定义的变量存储在Jmeter中。我计划用这个:Java 通过Excel中的多个工作表输入Jmeter SOAP/XML-RPC请求,java,jmeter,apache-tika,Java,Jmeter,Apache Tika,我的问题: 我所有的测试数据都放在excel+多张表格中。我试图读取excel数据并将其作为用户定义的变量存储在Jmeter中。我计划用这个: 作为请求XML中的变量,我通过SOAP/XML-RPC请求发送 作为我收到的响应XML的断言变量 到目前为止我做了什么: 我使用了一个与中类似的示例 第一张表的testfile.xlsx文件的A1和B1单元格分别为“foo”和“bar” 我已经下载了tika-app-1.9.jar并添加到Jmeter(v2.13)的/lib文件夹中 添加了Bean
- 作为请求XML中的变量,我通过SOAP/XML-RPC请求发送
- 作为我收到的响应XML的断言变量李>
- 第一张表的testfile.xlsx文件的A1和B1单元格分别为“foo”和“bar”
- 我已经下载了tika-app-1.9.jar并添加到Jmeter(v2.13)的/lib文件夹中
- 添加了Beanshell预处理器&在脚本部分添加:
import org.apache.jmeter.protocol.http.sampler.WebServiceSampler; 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);
sampler.addArgument()
如果将a1Value
和a2Value
存储到JMeter变量“foo”和“bar”中,如下所示:
选项包括:
比恩希尔路
sampler.setXmlData("<?xml version=\"1.0\"?>\n" +
"\n" +
"<maintag>\n" +
" <sometag foo=\"" + vars.get("foo") + "\"/>\n" +
" <someothertag bar=\"" + vars.get("bar") + "\"/>\n" +
"\n" +
"</maintag>");
sampler.setXmlData(“\n”+
“\n”+
“\n”+
“\n”+
“\n”+
“\n”+
"");
GUI方式
sampler.setXmlData("<?xml version=\"1.0\"?>\n" +
"\n" +
"<maintag>\n" +
" <sometag foo=\"" + vars.get("foo") + "\"/>\n" +
" <someothertag bar=\"" + vars.get("bar") + "\"/>\n" +
"\n" +
"</maintag>");
直接将变量注入SOAP/XML-RPC采样器代码,如
关于此行中的多张图纸:
XSSFSheet sheet=workbook.getSheetAt(0)代码>将返回第一张工作表
XSSFSheet sheet=workbook.getSheetAt(1)代码>将返回第二页
xssfheet sheet=workbook.getSheetAt(“MySheet”)代码>将返回名为“MySheet”的工作表