Javascript ${uuuu RandomString(10195165984,)}放在Jmeter外部的脚本文件中,然后调用它时,它不工作
我想要一个单独的脚本文件,在JMeter之外,它有一些JS函数,比如Javascript ${uuuu RandomString(10195165984,)}放在Jmeter外部的脚本文件中,然后调用它时,它不工作,javascript,java,groovy,jmeter,Javascript,Java,Groovy,Jmeter,我想要一个单独的脚本文件,在JMeter之外,它有一些JS函数,比如${{uuu RandomString(10195165984,)} 当我以.groovy格式保存文件,然后在脚本文件(文件名)中调用它时,我得到一个错误,如下所示: javax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: org.codehaus.groovy.jsr223.GroovyScriptEng
${{uuu RandomString(10195165984,)}
当我以.groovy格式保存文件,然后在脚本文件(文件名)中调用它时,我得到一个错误,如下所示:
javax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.$() is applicable for argument types: (Script7$_run_closure1) values: [Script7$_run_closure1@1aa89172]
Possible solutions: is(java.lang.Object), any(), get(java.lang.String), any(groovy.lang.Closure), use([Ljava.lang.Object;), wait()
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:324) ~[groovy-all-2.4.15.jar:2.4.15]
at org.codehaus.groovy.jsr223.GroovyCompiledScript.eval(GroovyCompiledScript.java:72) ~[groovy-all-2.4.15.jar:2.4.15]
at javax.script.CompiledScript.eval(CompiledScript.java:92) ~[?:1.8.0_201]
at org.apache.jmeter.util.JSR223TestElement.processFileOrScript(JSR223TestElement.java:194) ~[ApacheJMeter_core.jar:5.0 r1840935]
at org.apache.jmeter.assertions.JSR223Assertion.getResult(JSR223Assertion.java:49) [ApacheJMeter_components.jar:5.0 r1840935]
at org.apache.jmeter.threads.JMeterThread.processAssertion(JMeterThread.java:901) [ApacheJMeter_core.jar:5.0 r1840935]
at org.apache.jmeter.threads.JMeterThread.checkAssertions(JMeterThread.java:892) [ApacheJMeter_core.jar:5.0 r1840935]
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:565) [ApacheJMeter_core.jar:5.0 r1840935]
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486) [ApacheJMeter_core.jar:5.0 r1840935]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253) [ApacheJMeter_core.jar:5.0 r1840935]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
Caused by: groovy.lang.MissingMethodException: No signature of method: org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.$() is applicable for argument types: (Script7$_run_closure1) values: [Script7$_run_closure1@1aa89172]
Possible solutions: is(java.lang.Object), any(), get(java.lang.String), any(groovy.lang.Closure), use([Ljava.lang.Object;), wait()
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.callGlobal(GroovyScriptEngineImpl.java:403) ~[groovy-all-2.4.15.jar:2.4.15]
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.access$100(GroovyScriptEngineImpl.java:94) ~[groovy-all-2.4.15.jar:2.4.15]
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl$3.invokeMethod(GroovyScriptEngineImpl.java:307) ~[groovy-all-2.4.15.jar:2.4.15]
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68) ~[groovy-all-2.4.15.jar:2.4.15]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) ~[groovy-all-2.4.15.jar:2.4.15]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157) ~[groovy-all-2.4.15.jar:2.4.15]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:169) ~[groovy-all-2.4.15.jar:2.4.15]
at Script7.run(Script7.groovy:2) ~[?:?]
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:321) ~[groovy-all-2.4.15.jar:2.4.15]
... 10 more
当我在JMeter脚本中编写这些函数时,它工作得很好。我有什么遗漏吗?或者我们不能在外部调用这些函数?当您在jmeter内部调用它时,函数将被解释并替换为值 它不是在groovy外部文件中
但在这两种情况下都不要这样做,使用Parameters字段调用它,然后直接使用Parameters值。在jmeter内部调用它时,函数将被解释并替换为值 它不是在groovy外部文件中 但在这两种情况下都不要这样做,使用Parameters字段调用它,然后直接使用Parameters value。不要在Groovy脚本中内联,或者使用
Parameters
部分,如:
test.groovy
文件:
log.info("Random number: " + Parameters)
或者,您可以直接在groovy文件中调用函数,如:
log.info("Random number: " + org.apache.commons.lang3.RandomUtils.nextInt(10, 195165984))
更多信息:不要在Groovy脚本中内联,或者使用参数
部分,如:
test.groovy
文件:
log.info("Random number: " + Parameters)
或者,您可以直接在groovy文件中调用函数,如:
log.info("Random number: " + org.apache.commons.lang3.RandomUtils.nextInt(10, 195165984))
更多信息:所以这是不可能的。按照你解释的方式,你能举个例子吗?所以这是不可能的。按照你解释的方式,你能举个例子吗?