Variables 尝试在Jmeter中设置变量时出现错误500

Variables 尝试在Jmeter中设置变量时出现错误500,variables,groovy,jmeter,Variables,Groovy,Jmeter,我试图在groovy和Jmeter中创建一个变量。 我希望它成为我计划运行的while循环的计数器。 我希望在每次迭代中向这个计数器添加1。 问题是,我不能将它设置为变量,我可以稍后在另一个采样器的程序中使用它 int while_counter = 0; vars.put("while_counter",0); System.out.println("Loop Counter"); 我只想创建一个整数,它将是一个计数器,所有的采样器都会知道,并且可以寻址他${while_counter} 执

我试图在groovy和Jmeter中创建一个变量。 我希望它成为我计划运行的while循环的计数器。 我希望在每次迭代中向这个计数器添加1。 问题是,我不能将它设置为变量,我可以稍后在另一个采样器的程序中使用它

int while_counter = 0;
vars.put("while_counter",0);
System.out.println("Loop Counter");
我只想创建一个整数,它将是一个计数器,所有的采样器都会知道,并且可以寻址他${while_counter}

执行while_计数器=while_计数器++ 我错过了什么

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添加到计数器中,在中的测试计划开始时将变量“i”定义为0/1/

While循环条件:

${__groovy(vars["i"].toInteger() < 5)}

不要使用Javascript函数,因为它的伸缩性不如Groovy

建议尽可能避免编写脚本,因此:

  • 如果您正在运行一个由驱动的“内部”循环,或者添加一个测试元素是有意义的,它将在每次调用时生成一个递增的数字。您将能够使用计数器的“引用名称”部分中定义的“正常”JMeter变量引用计数器的当前值
  • 对于级别迭代,可以使用函数


  • 关于您的问题本身,您不能将整数传递给
    vars.put()
    method,如果您需要在JMeter变量中存储整数,您应该使用method。

    非常感谢,但是如果我有知道循环迭代的用户定义变量,并且我想使用groovy创建一个变量来获取其值,要比较它们,可以吗?现在我有两个用户定义的变量I,用于从0开始计数,数组大小为3。我可以创建一个包含3的变量并删除一个用户定义的变量吗?您可以获取该变量并保存在另一个变量中,例如,如果用户定义的是
    counterI
    ,只需更改第一行以获取字符串I=
    vars.get(“counterI”)
      String i = vars.get("i"); 
      int counter = Integer.parseInt(i); 
      counter++; 
      vars.put("i", "" + counter);