Thank you...school boy error - forgot to update script on the directory I chose - and yes, typo spotted 'F'
Thank you...need to double check harder -----Original Message----- From: Felix Schumacher <[email protected]> Sent: 19 August 2020 18:57 To: [email protected] Subject: Re: Groovy Scripts not executing under Jmeter 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(GroovyScriptEng > ineImp > l.java:324) ~[groovy-all-2.4.16.jar:2.4.16] > > at > org.codehaus.groovy.jsr223.GroovyCompiledScript.eval(GroovyCompiledScr > ipt.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(JSR223Tes > tEleme > nt.java:223) ~[ApacheJMeter_core.jar:5.2.1] > > at > org.apache.jmeter.protocol.java.sampler.JSR223Sampler.sample(JSR223Sam > pler.j > ava:71) [ApacheJMeter_java.jar:5.2.1] > > at > org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:62 > 7) > [ApacheJMeter_core.jar:5.2.1] > > at > org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThre > ad.jav > a:551) [ApacheJMeter_core.jar:5.2.1] > > at > org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.jav > a: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(ScriptBytecod > eAdapt > er.java:71) ~[groovy-all-2.4.16.jar:2.4.16] > > at > org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaCl > assSit > e.java:48) ~[groovy-all-2.4.16.jar:2.4.16] > > at > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSit > eArray > .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(GroovyScriptEng > ineImp > 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
