在 Macbook 上通过 CLI 运行脚本时,我使用 Java/Beanshell 2.0b6 遇到错误,而通过 GUI 运行时不会出现此错误;
2023-12-04 16:52:47,858 ERROR o.a.j.m.JSR223PreProcessor: Problem in JSR223 script, JSR223 PreProcessor - Create tokenPayload
javax.script.ScriptException: Sourced file: inline evaluation of: ``import org.apache.jmeter.protocol.http.control.CookieManager; import org.apach . . . '' : Typed variable declaration : Class: JSONObject not found in namespace : at Line: 10 : in file: inline evaluation of: ``import org.apache.jmeter.protocol.http.control.CookieManager; import org.apach . . . '' : JSONObject
in inline evaluation of: ``import org.apache.jmeter.protocol.http.control.CookieManager; import org.apach . . . '' at line number 10
at bsh.engine.BshScriptEngine.evalSource(BshScriptEngine.java:93) ~[bsh-2.0b6.jar:2.0b6 2016-02-05 05:16:19]
at bsh.engine.BshScriptEngine.eval(BshScriptEngine.java:46) ~[bsh-2.0b6.jar:2.0b6 2016-02-05 05:16:19]
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:231) ~[java.scripting:?]
at org.apache.jmeter.util.JSR223TestElement.processFileOrScript(JSR223TestElement.java:219) ~[ApacheJMeter_core.jar:5.4.2]
at org.apache.jmeter.modifiers.JSR223PreProcessor.process(JSR223PreProcessor.java:45) [ApacheJMeter_components.jar:5.4.2]
at org.apache.jmeter.threads.JMeterThread.runPreProcessors(JMeterThread.java:965) [ApacheJMeter_core.jar:5.4.2]
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:549) [ApacheJMeter_core.jar:5.4.2]
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489) [ApacheJMeter_core.jar:5.4.2]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256) [ApacheJMeter_core.jar:5.4.2]
at java.lang.Thread.run(Thread.java:1589) [?:?]
org.json .jar 文件存在于 /lib 中,并且 JMETER_HOME 类路径似乎已正确设置为安装目录。谁能告诉我可能是什么问题以及为什么在运行时找不到 jar 吗?
(注意 - 我应该使用 JSR223 / Groovy,但 Java 版本 (19) 和 JMeter 版本 (5.4.2) 之间存在一些脱节,阻止我对相关代码执行此操作)
只是想了解为什么 GUI 和 CLI 之间存在脱节