尝试使用Jmeter创建 xlsx 文件时出错。实际上我已经尝试使用 HSSF (对于.xls)并且它运行正常。但是当我尝试使用 xlsx 更改它时,我收到错误。我已经在jmeter lib 文件中复制了 poi 和 poi-ooxml 的jar文件。这是我的简单脚本:
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.*;
import java.lang.String;
import java.lang.Object;
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Sample sheet");
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("HENCIN");
try {
FileOutputStream out = new FileOutputStream(new File("D:\\Jmeter\\testhencin.xlsx"));
workbook.write(out);
out.close();
System.out.println("Excel written successfully..");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
实际上当我试图找到错误时,问题就出在这一行:
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Sample sheet");
请有人帮我弄清楚。它适用于 HSSF ,但在 XSSF 上无效。我收到错误:响应代码:500
Response message: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval org/apache/xmlbeans/XmlObject
答案 0 :(得分:1)
我建议:
重新抛出异常以确保您不会得到假阳性采样结果,例如:
} catch (Throwable e) {
e.printStackTrace();
log.info("Error in Beanshell", e);
throw e;
}
关于您的问题,很可能是因为XMLBeans中缺少JMeter classpath jar。我建议如下:
使用Tika,您将获得捆绑的所有必需库,此外,JMeter将在View Results Tree侦听器中显示二进制文件的内容。有关详细信息,请参阅How to Extract Data From Files With JMeter文章。