java.lang.reflect.InvocationTargetException 同时将 Excel 文件打开到 JMeter

java.lang.reflect.InvocationTargetException while opening Excel file into JMeter

我目前正在按照本教程将 Excel 文件读入 JMeter:https://www.blazemeter.com/blog/how-to-implement-data-driven-testing-in-your-jmeter-test

但是,当我尝试执行下面的部分时,我遇到了问题

import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFRow;
import java.io.*;

XSSFWorkbook book = "";
try {
    InputStream inputStream = new FileInputStream(new File("${PATH}"));
    book = new XSSFWorkbook(inputStream);
    inputStream.close();
} 
catch (Exception e) {
     log.info("!!!!!!!!" + e.getMessage() + "!!!!!!!!!!!!!!!");
}

错误是!!!!!!!!java.lang.reflect.InvocationTargetException!!!!!!!!!!!!!!!

我将以下库导入到 JMeter 中:

并且 JMeter 版本是 5.1

您遇到过这个问题吗?

非常感谢

此致

更新 1

Target exception: org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException
 in inline evaluation of: ``import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.us . . . '' at line number 10
javax.script.ScriptException: Sourced file: inline evaluation of: ``import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.us . . . '' : Object constructor : at Line: 10 : in file: inline evaluation of: ``import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.us . . . '' : new XSSFWorkbook ( inputStream ) 

Target exception: org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException
 in inline evaluation of: ``import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.us . . . '' at line number 10
    at bsh.engine.BshScriptEngine.evalSource(BshScriptEngine.java:86) ~[bsh-2.0b5.jar:2.0b5 2005-06-12 04:50:41]
    at bsh.engine.BshScriptEngine.eval(BshScriptEngine.java:46) ~[bsh-2.0b5.jar:2.0b5 2005-06-12 04:50:41]
    at javax.script.AbstractScriptEngine.eval(Unknown Source) ~[?:1.8.0_31]
    at org.apache.jmeter.util.JSR223TestElement.processFileOrScript(JSR223TestElement.java:225) ~[ApacheJMeter_core.jar:5.1 r1853635]
    at org.apache.jmeter.protocol.java.sampler.JSR223Sampler.sample(JSR223Sampler.java:71) [ApacheJMeter_java.jar:5.1 r1853635]
    at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:622) [ApacheJMeter_core.jar:5.1 r1853635]
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:546) [ApacheJMeter_core.jar:5.1 r1853635]
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486) [ApacheJMeter_core.jar:5.1 r1853635]
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253) [ApacheJMeter_core.jar:5.1 r1853635]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_31]

伙计,我们无法仅通过查看异常消息来帮助您,我们需要 stacktrace

jmeter.log file 的内容也将非常有帮助。

到目前为止我只能推荐开始清洁

  1. According to JMeter Best Practices you should always be using the latest version of JMeter so visit JMeter Downloads 页面并获取最新的稳定版本
  2. 您可以下载单独的 .jar 文件 tika-app.jar and put it into JMeter Classpath
  3. 重新启动 JMeter 以拾取 .jar
  4. 添加相关的 JSR223 Test Element and make sure to use Groovy 作为语言
  5. 将您的 "${PATH}" 更改为 vars.get("PATH")
  6. 确保添加所有必要的导入,例如 import org.apache.poi.xssf.usermodel.XSSFWorkbook