我试图在groovy和Jmeter中创建一个变量。 我希望它是我计划运行的while循环的计数器。 我想在每次迭代中向此计数器添加1。 问题是我无法将其设置为变量,以后我可以在另一个采样器的程序中使用它。
int while_counter = 0;
vars.put("while_counter",0);
System.out.println("Loop Counter");
我只是想创建一个整数,它将成为一个计数器,所有采样器都会知道,并且可以解决他$ {while_counter}。
并执行while_counter = while_counter ++ 我缺少什么
Response code: 500
Response message: javax.script.ScriptException: javax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: org.apache.jmeter.threads.JMeterVariables.put() is applicable for argument types: (java.lang.String, java.lang.Integer) values: [while_counter, 0]
Possible solutions: put(java.lang.String, java.lang.String), get(java.lang.String), putAt(java.lang.String, java.lang.Object), wait(), any(), dump()
有人可以建议如何在Jmeter中创建一个简单的while循环 并将1添加到计数器
答案 0 :(得分:1)
在User Defined Variable / User Parameters
中的测试计划开始时将变量“ i ”定义为0/1while循环条件:
${__groovy(vars["i"].toInteger() < 5)}
在内部循环中添加JSR223 Sampler / Preprocessor并增加它:
String i = vars.get("i");
int counter = Integer.parseInt(i);
counter++;
vars.put("i", "" + counter);
不要使用Javascript函数,因为它不像Groovy那样扩展
答案 1 :(得分:0)
建议尽可能避免编写脚本:
关于你的问题本身,你不能将整数传递给{{1}}方法,如果你需要在JMeter变量中存储一个整数,你应该选择vars.putObject()
方法。