新回到使用Jmeter后,3年的休息和相当困惑的这个错误。
我有一个用于生成AWS签名的JSR 223预处理器,它不断生成以下类型的错误:
021-10-20 13:47:40,101 ERROR o.a.j.m.JSR223PreProcessor: Problem in JSR223 script, Create AWS Signature
javax.script.ScriptException: javax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: org.apache.jmeter.protocol.java.sampler.JSR223Sampler.getMethod() is applicable for argument types: () values: []
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:158) ~[groovy-jsr223-3.0.7.jar:3.0.7]
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:233) ~[java.scripting:?]
这不会导致测试本身失败(奇怪的是),但它将有助于阻止这些错误堵塞我们的日志文件。
救命啊!
2条答案
按热度按时间oug3syen1#
看起来您已将JSR223预处理器添加为JSR223采样器的子项,其值为doesn't really have getMethod() function。
该函数可用于HTTPSamplerBase类及其派生类。
换句话说,您需要将JSR223预处理器作为HTTP请求采样器的子级,它应该按预期开始工作。
更多信息:How to Handle Dynamic AWS SigV4 in JMeter for API Testing
myss37ts2#
确保取消选中JSR223 Sampler〉〉Cache compiled script if available上的复选框。看起来脚本被缓存了,没有重新编译,导致旧代码被运行。还要确保旧代码没有隐藏在脚本编辑器窗口的底部(滚动条有时不能正确显示隐藏了多少内容)。