JMeter-将Beanshell用作JSR223采样器时出现异常

JMeter-将Beanshell用作JSR223采样器时出现异常,jmeter,beanshell,jsr223,Jmeter,Beanshell,Jsr223,我有一个包含简单JSR223代码的文件: log.info("Hello JSR223") 当我在JSR223采样器中选择Beanshell作为语言时,我得到以下异常: 2018-06-21 10:32:28,148 ERROR o.a.j.p.j.s.JSR223Sampler: Problem in JSR223 script JSR223 Sampler, message: javax.script.ScriptException: In file: eval stream Encoun

我有一个包含简单JSR223代码的文件:

log.info("Hello JSR223")
当我在JSR223采样器中选择Beanshell作为语言时,我得到以下异常:

2018-06-21 10:32:28,148 ERROR o.a.j.p.j.s.JSR223Sampler: Problem in JSR223 script JSR223 Sampler, message: javax.script.ScriptException: In file: eval stream Encountered "<EOF>" at line 2, column 24.
 in eval stream at line number 2
javax.script.ScriptException: In file: eval stream Encountered "<EOF>" at line 2, column 24.
 in eval stream at line number 2
    at bsh.engine.BshScriptEngine.evalSource(BshScriptEngine.java:82) ~[bsh-2.0b6.jar:2.0b6 2016-02-05 05:16:19]
    at bsh.engine.BshScriptEngine.eval(BshScriptEngine.java:52) ~[bsh-2.0b6.jar:2.0b6 2016-02-05 05:16:19]
    at javax.script.AbstractScriptEngine.eval(Unknown Source) ~[?:1.8.0_25]
    at org.apache.jmeter.util.JSR223TestElement.processFileOrScript(JSR223TestElement.java:199) ~[ApacheJMeter_core.jar:4.0 r1823414]
    at org.apache.jmeter.protocol.java.sampler.JSR223Sampler.sample(JSR223Sampler.java:69) [ApacheJMeter_java.jar:4.0 r1823414]
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:490) [ApacheJMeter_core.jar:4.0 r1823414]
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:416) [ApacheJMeter_core.jar:4.0 r1823414]
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:250) [ApacheJMeter_core.jar:4.0 r1823414]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_25]
2018-06-21 10:32:28148错误o.a.j.p.j.s.JSR223采样器:JSR223脚本JSR223采样器中存在问题,消息:javax.script.ScriptException:在文件中:在第2行第24列遇到评估流“”。
在第2行的评估流中
javax.script.ScriptException:在文件中:eval stream在第2行第24列遇到“”。
在第2行的评估流中
在bsh.engine.bshsscriptengine.evalSource(bshsscriptengine.java:82)~[bsh-2.0b6.jar:2.0b6 2016-02-05 05:16:19]
在bsh.engine.bshsscriptengine.eval(bshsscriptengine.java:52)~[bsh-2.0b6.jar:2.0b6 2016-02-05 05:16:19]
在javax.script.AbstractScriptEngine.eval(未知源代码)~[?:1.8.0_25]
在org.apache.jmeter.util.JSR223TestElement.processFileOrScript(JSR223TestElement.java:199)~[ApacheJMeter\u core.jar:4.0 r1823414]
在org.apache.jmeter.protocol.java.sampler.jsr23sampler.sample(jsr23sampler.java:69)[ApacheJMeter_java.jar:4.0 r1823414]
在org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:490)[ApacheJMeter_core.jar:4.0 r1823414]
位于org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:416)[ApacheJMeter_core.jar:4.0 r1823414]
在org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:250)[ApacheJMeter_core.jar:4.0 r1823414]
在java.lang.Thread.run(未知源代码)[?:1.8.0_25]
相同的代码在没有文件的情况下工作,方法是将其添加到脚本字段

如果您需要使用语法,即语句需要以分号结尾,请将其修改为:

log.info("Hello JSR223");
//                      ^ this is uber important
您的脚本应该按预期开始工作

请注意,这主要是因为我建议将“语言”保留为
groovy
,在这种情况下,分号是不必要的