Jmeter 5.4.1 - Groovy脚本错误“没有方法签名”

v8wbuo2f  于 2022-11-09  发布在  其他
关注(0)|答案(2)|浏览(371)

新回到使用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:?]

这不会导致测试本身失败(奇怪的是),但它将有助于阻止这些错误堵塞我们的日志文件。
救命啊!

oug3syen

oug3syen1#

看起来您已将JSR223预处理器添加为JSR223采样器的子项,其值为doesn't really have getMethod() function
该函数可用于HTTPSamplerBase类及其派生类。
换句话说,您需要将JSR223预处理器作为HTTP请求采样器的子级,它应该按预期开始工作。
更多信息:How to Handle Dynamic AWS SigV4 in JMeter for API Testing

myss37ts

myss37ts2#

确保取消选中JSR223 Sampler〉〉Cache compiled script if available上的复选框。看起来脚本被缓存了,没有重新编译,导致旧代码被运行。还要确保旧代码没有隐藏在脚本编辑器窗口的底部(滚动条有时不能正确显示隐藏了多少内容)。

相关问题