所有我需要一些帮助我的jmeter脚本:我想得到和更新我的令牌每2小时
我有以下大纲:x1c 0d1x
我在一次唯一的控制器中得到了一个令牌..在预处理器中我添加了:记录时间。String tokenGenerationTime = String.valueOf(System.currentTimeMillis()); vars.put(“tokenGenerationTime”,tokenGenerationTime);
log.info("Token Generation Time: " + tokenGenerationTime); // Log the tokenGenerationTime
字符串
在我的while控制器中,我得到了以下内容:
在我的if控制器中,我得到:
when i run my script i am getting:Caused by:groovy.lang.MissingMethodException:No signature of method:java.lang.Long.minus()is applicable for argument types:(String)values:[1699420843391]可能的解决方案:减去(java.lang.Number),减(java.lang.Character),加上(java.lang.String),find(),min(long,long),signum(long)at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:70)~[groovy-3.0.17.jar:3.0.17] at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:46)~[groovy-3.0.17.jar:3.0.17] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)~[groovy-3.0.17.jar:3.0.17] at Script6833.run(Script6833.groovy:1)~[?:?] at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:317)~[groovy-jsr 223 -3.0.17.jar:在org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:155)~[groovy-jsr 223 -3.0.17.jar:3.0.17]. 20 more 2023- 1 - 1 -08 05:20:57,011 INFO o.a.j.t.JMeterThread:Thread finished:线程组-消费者1-1 2023- 1 - 1 -08 05:20:57,011信息o.a.j.e.StandardJMeterEngine:通知测试侦听器测试结束2023-11-08 05:20:57,011 INFO o.a.j.g.u.JMeterMenuBar:setRunning(false,local)
有没有什么建议,我如何让这个工作.并通过每2小时点击该获取令牌更新令牌.目前,我设置我的代码是一分钟只是为了观察它的工作,但它不是.
我在日志中得到以下内容:x1c4d 1x
1条答案
按热度按时间92vpleto1#
首先,我不认为你可以只在While Controller的条件区域中编写Groovy代码,它期望JMeter Function or Variable返回
true
您向我们展示的代码根本没有执行,请在其他地方查找问题。
关于您的“需求”,一般来说,以下操作更容易:
1.将令牌生成逻辑移动到单独的线程组中,并每隔1小时55分钟左右运行一次关联的请求
1.将令牌传递给Thread Group,Thread Group通过JMeter Properties生成主负载,如Using JMeter Variables With Multiple Thread Groups文章中所述。