我不熟悉Jmeter。我试图从一个普通的脚本中获取格林尼治标准时间12:00 am的时间戳,并将其转换为Epoc计时器
代码段
use(groovy.time.TimeCategory) {
daytime = new Date()
daytime.set(hourOfDay: 0, minute: 0, second: 0)
time=daytime.getTime()
log.info(time)
}
当我在groovy Editor上在线运行此代码时,得到了预期的响应 上面脚本的响应:1554249600472
2019-04-03 10:54:06,597错误o.a.j.m.JSR223PreProcessor:JSR223脚本,JSR223 PreProcessor中的问题 javax.script.ScriptException:groovy.lang.MissingMethodException:无方法签名:org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.use()适用于参数类型:(java.lang.Class,Script20 $ _run_closure1)值:[ groovy.time.TimeCategory类,Script20 $ _run_closure1 @ 6aaee2b9] 可能的解决方案:use(java.lang.Class,groovy.lang.Closure),use(java.util.List,groovy.lang.Closure),use([Ljava.lang.Object;),grep(),any( ),dump() 在org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:324)〜[groovy-all-2.4.15.jar:2.4.15] 在org.codehaus.groovy.jsr223.GroovyCompiledScript.eval(GroovyCompiledScript.java:72)〜[groovy-all-2.4.15.jar:2.4.15] 在javax.script.CompiledScript.eval(未知来源)〜[?:1.8.0_201] 在org.apache.jmeter.util.JSR223TestElement.processFileOrScript(JSR223TestElement.java:221)〜[ApacheJMeter_core.jar:5.0 r1840935] 在org.apache.jmeter.modifiers.JSR223PreProcessor.process(JSR223PreProcessor.java:44)上[ApacheJMeter_components.jar:5.0 r1840935] 在org.apache.jmeter.threads.JMeterThread.runPreProcessors(JMeterThread.java:935)上[ApacheJMeter_core.jar:5.0 r1840935] org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:537)[ApacheJMeter_core.jar:5.0 r1840935] 在org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486)上[ApacheJMeter_core.jar:5.0 r1840935] 在org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253)上[ApacheJMeter_core.jar:5.0 r1840935] 在java.lang.Thread.run(未知来源)[?: 1.8.0_201] 引起原因:groovy.lang.MissingMethodException:方法的无签名:org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.use()适用于参数类型:(java.lang.Class,Script20 $ _run_closure1)值:[class groovy。 time.TimeCategory,Script20 $ _run_closure1 @ 6aaee2b9] 可能的解决方案:use(java.lang.Class,groovy.lang.Closure),use(java.util.List,groovy.lang.Closure),use([Ljava.lang.Object;),grep(),any( ),dump() 在org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.callGlobal(GroovyScriptEngineImpl.java:403)〜[groovy-all-2.4.15.jar:2.4.15] 在org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.access $ 100(GroovyScriptEngineImpl.java:94)〜[groovy-all-2.4.15.jar:2.4.15] 在org.codehaus.groovy.jsr223.GroovyScriptEngineImpl $ 3.invokeMethod(GroovyScriptEngineImpl.java:307)〜[groovy-all-2.4.15.jar:2.4.15] 在org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)〜[groovy-all-2.4.15.jar:2.4.15] 在org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)〜[groovy-all-2.4.15.jar:2.4.15] 在org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)〜[groovy-all-2.4.15.jar:2.4.15] 在org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177)〜[groovy-all-2.4.15.jar:2.4.15] 在Script20.run(Script20.groovy:1)〜[?:?] 在org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:321)〜[groovy-all-2.4.15.jar:2.4.15]
答案 0 :(得分:0)
我不知道为什么use
对您不起作用(可能是普通版本或其他)
但是您不需要它来清除时间:
def daytime = new Date()
daytime.clearTime() //clear the time
log.info( daytime.getTime() as String ) //print time as milliseconds
答案 1 :(得分:0)
谢谢您,亲爱的,您的友好和快速的响应,对输出的输出进行了类型转换。 下面是给我成功回复的代码段
use(groovy.time.TimeCategory) {
def daytime = new Date()
daytime.set(hourOfDay: 0, minute: 0, second: 0)
starttime=daytime+5.hour+30.minute
time=starttime.getTime()
log.info(time as String)
}