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 中:
- Apache POI 3.17
- Apache POI-OOXML 3.17
- Apache Commons IO 2.6
- OOXML 模式 1.3
- xmlbeans-2.3.0.jar
- commons-collections4-4.1.jar
并且 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 的内容也将非常有帮助。
到目前为止我只能推荐开始清洁
- According to JMeter Best Practices you should always be using the latest version of JMeter so visit JMeter Downloads 页面并获取最新的稳定版本
- 您可以下载单独的 .jar 文件 tika-app.jar and put it into JMeter Classpath
- 重新启动 JMeter 以拾取 .jar
- 添加相关的 JSR223 Test Element and make sure to use Groovy 作为语言
- 将您的
"${PATH}"
更改为 vars.get("PATH")
- 确保添加所有必要的导入,例如
import org.apache.poi.xssf.usermodel.XSSFWorkbook
我目前正在按照本教程将 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 中:
- Apache POI 3.17
- Apache POI-OOXML 3.17
- Apache Commons IO 2.6
- OOXML 模式 1.3
- xmlbeans-2.3.0.jar
- commons-collections4-4.1.jar
并且 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 的内容也将非常有帮助。
到目前为止我只能推荐开始清洁
- According to JMeter Best Practices you should always be using the latest version of JMeter so visit JMeter Downloads 页面并获取最新的稳定版本
- 您可以下载单独的 .jar 文件 tika-app.jar and put it into JMeter Classpath
- 重新启动 JMeter 以拾取 .jar
- 添加相关的 JSR223 Test Element and make sure to use Groovy 作为语言
- 将您的
"${PATH}"
更改为vars.get("PATH")
- 确保添加所有必要的导入,例如
import org.apache.poi.xssf.usermodel.XSSFWorkbook