Am 19.08.20 um 18:53 schrieb Raja:
> Hi
>
>
>
> I am having problems running groovy scripts under Jmeter. Can someone
> advise if I need to enable/tweak something for groovy to execute.
>
>
>
> Jmeter version = 5.2.1
>
> Groovy = 2.4.16 / Groovy Scripting Engine 2.0
>
> Jar = /lib/groovy-all-2.4.16.Jar
>
>
>
> I have been following an online example so I know this script should work.
>
>
>
>
>
> I have placed the following script under JSR223 Sampler:
>
>
>
> import groovy.io.FileType
>
>
>
> String folderPath = "data-management"
>
> new File(folderPath).eachfile (FileType.FILES) { file ->
>
> /* Delete file if file name contains .dat */
>
> if (file.name.contains('.dat')) file.delete()
>
> }
>
>
>
> Sampler Result gives:
>
>
>
> Response code:500
>
> Response message:javax.script.ScriptException:
> groovy.lang.MissingMethodException: No signature of method:
> java.io.File.eachfile() is applicable for argument types:
This error message says, that Groovy is not finding a method named
"eachfile" (exactly like you have written in your code above)...
> (groovy.io.FileType, Script2$_run_closure1) values: [FILES,
> Script2$_run_closure1@17b02a]
>
> Possible solutions: eachFile(groovy.io.FileType, groovy.lang.Closure),
> eachFile(groovy.lang.Closure), eachLine(int, groovy.lang.Closure),
> eachLine(java.lang.String, groovy.lang.Closure),
> eachLine(groovy.lang.Closure), isFile()
but it tries to help you by letting you know, that there are methods
named "eachFile" (the 'F' is upper-case!).
Groovy like Java is case sensitive, so follow the example closely.
Regards
Felix
>
>
>
>
>
> Extract from Logs:
>
>
>
> 2020-08-19 17:49:15,917 INFO o.a.j.t.JMeterThread: Thread started: tearDown
> Thread Group 1-1
>
> 2020-08-19 17:49:15,951 ERROR o.a.j.p.j.s.JSR223Sampler: Problem in JSR223
> script JSR223 Sampler, message: javax.script.ScriptException:
> groovy.lang.MissingMethodException: No signature of method:
> java.io.File.eachfile() is applicable for argument types:
> (groovy.io.FileType, Script2$_run_closure1) values: [FILES,
> Script2$_run_closure1@17b02a]
>
> Possible solutions: eachFile(groovy.io.FileType, groovy.lang.Closure),
> eachFile(groovy.lang.Closure), eachLine(int, groovy.lang.Closure),
> eachLine(java.lang.String, groovy.lang.Closure),
> eachLine(groovy.lang.Closure), isFile()
>
> javax.script.ScriptException: groovy.lang.MissingMethodException: No
> signature of method: java.io.File.eachfile() is applicable for argument
> types: (groovy.io.FileType, Script2$_run_closure1) values: [FILES,
> Script2$_run_closure1@17b02a]
>
> Possible solutions: eachFile(groovy.io.FileType, groovy.lang.Closure),
> eachFile(groovy.lang.Closure), eachLine(int, groovy.lang.Closure),
> eachLine(java.lang.String, groovy.lang.Closure),
> eachLine(groovy.lang.Closure), isFile()
>
> at
> org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImp
> l.java:324) ~[groovy-all-2.4.16.jar:2.4.16]
>
> at
> org.codehaus.groovy.jsr223.GroovyCompiledScript.eval(GroovyCompiledScript.ja
> va:72) ~[groovy-all-2.4.16.jar:2.4.16]
>
> at javax.script.CompiledScript.eval(CompiledScript.java:92)
> ~[?:1.8.0_241]
>
> at
> org.apache.jmeter.util.JSR223TestElement.processFileOrScript(JSR223TestEleme
> nt.java:223) ~[ApacheJMeter_core.jar:5.2.1]
>
> at
> org.apache.jmeter.protocol.java.sampler.JSR223Sampler.sample(JSR223Sampler.j
> ava:71) [ApacheJMeter_java.jar:5.2.1]
>
> at
> org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:627)
> [ApacheJMeter_core.jar:5.2.1]
>
> at
> org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.jav
> a:551) [ApacheJMeter_core.jar:5.2.1]
>
> at
> org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:490)
> [ApacheJMeter_core.jar:5.2.1]
>
> at
> org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257)
> [ApacheJMeter_core.jar:5.2.1]
>
> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_241]
>
> Caused by: groovy.lang.MissingMethodException: No signature of method:
> java.io.File.eachfile() is applicable for argument types:
> (groovy.io.FileType, Script2$_run_closure1) values: [FILES,
> Script2$_run_closure1@17b02a]
>
> Possible solutions: eachFile(groovy.io.FileType, groovy.lang.Closure),
> eachFile(groovy.lang.Closure), eachLine(int, groovy.lang.Closure),
> eachLine(java.lang.String, groovy.lang.Closure),
> eachLine(groovy.lang.Closure), isFile()
>
> at
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapt
> er.java:71) ~[groovy-all-2.4.16.jar:2.4.16]
>
> at
> org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSit
> e.java:48) ~[groovy-all-2.4.16.jar:2.4.16]
>
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray
> .java:47) ~[groovy-all-2.4.16.jar:2.4.16]
>
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.
> java:116) ~[groovy-all-2.4.16.jar:2.4.16]
>
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.
> java:136) ~[groovy-all-2.4.16.jar:2.4.16]
>
> at Script2.run(Script2.groovy:4) ~[?:?]
>
> at
> org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImp
> l.java:321) ~[groovy-all-2.4.16.jar:2.4.16]
>
> ... 9 more
>
> 2020-08-19 17:49:15,955 INFO o.a.j.t.JMeterThread: Thread is done: tearDown
> Thread Group 1-1
>
> 2020-08-19 17:49:15,955 INFO o.a.j.t.JMeterThread: Thread finished: tearDown
> Thread Group 1-1
>
>
>
> Kind regards
>
> Raja
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]