如果控制器停止循环而不是创建新的迭代 - Jmeter Groovy

时间:2017-10-22 07:55:45

标签: loops if-statement groovy jmeter beanshell

我有一个问题,我想解决, 我有一个循环控制器,我在里面创建了控制器。 如果“if controller”为真,我想要做些什么。 条件是: def loop_counter2 = $ {__ counter(TRUE)}; if控制器条件是“$ {loop_counter2}”==“1”。 循环设置为运行3次,因此预期的结果是条件只有一次正确。 我有2个问题 1.由于某种原因,条件永远不会成立 2.循环仅执行一次而不是设置为3(我将循环计数器打印到Jmeter consul并且仅显示1)。 有人可以告诉你为什么会这样吗? 如果我删除了If控制器,则循环执行3次

检查Arr - 我想要运行3次的循环控制器,无论if控制器是什么。 test2 - 输入变量(loop_counter2)循环迭代次数 如果控制器 - 当我们在迭代1中时,if控制器应该只为真一次 JSR223 SAMPLER - 如果输入到控制器

,则打印到领事

P.S我的测试的所有目的是运行3次,如果条件设置为连接DB。 例如,在Java中我可以使用for循环并将if条件置于其中。

  for (i = 0;i<3;i++)
    {
     if (i = 1)
       print happy;
    else nothing;
    }

how can I perform it in Jmeter?

如何在Jmeter中执行此操作?

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

以下是如何操作:

enter image description here

使用以这种方式配置的Counter元素:

enter image description here

并且If Controller将是(我使用__jexl3函数并检查&#34;将条件解释为变量表达式&#34;出于性能原因):

enter image description here