【问题标题】:IF controller (radio button/counter) and Loop Controller in JmeterJmeter 中的 IF 控制器(单选按钮/计数器)和 Loop 控制器
【发布时间】:2014-05-29 04:19:37
【问题描述】:

我想练习IF控制器基本上如下:

测试计划

+Thread_group:(用户:3,斜坡:3,循环:2)

+Loop_Controller(循环:4)

++ HTTP 请求 1:转到 page_1

+IF_Controller1

++ HTTP 请求 2:转到 page_2

++ 计数器(配置元素)

+IF_Controller2

++ HTTP request3:点击返回按钮

我的条件“HTTP 请求 2”仅在循环时执行(输出“Loop_Controller”>4)。怎么做 ? 并且,对于 IF_Controller2:它将在此页面上的每个问题都检查后执行(页面有 5 个问题,1 个问题有 5 个答案单选按钮。)

我也跟着Counter元素和Counter函数,不知道怎么组合?

还有一件事:要在 IF 语句中使用变量,它们应该放在以前的活动中吗? (在我的例子中:IF 控制器:${count},因此变量“count”应该放在 HTTP 请求 1)

谢谢,

【问题讨论】:

  • 线程组中的循环计数已经为 2。那你为什么要添加一个循环计数器?你到底想用 IF 条件做什么?
  • 因为我认为线程组中的循环会循环请求,而计数器(配置元素)只是“计数”的计数器。然后,我把这个“计数”放到 IF 控制器(或 While 控制器)中来做条件。
  • 你能给我一个更大的图景吗?还是你只是在玩 jmeter 来学习?
  • 因为我的本地网站因网络原因而停止。让别人解释。我正在测试的页面是Jmeter。 HTTP request_1 转到Manual if loop > 4。

标签: jmeter


【解决方案1】:

您需要将 COUNTER 作为 Loop Controller 的子级,而不是 If Controller。在这种情况下,您将得到以下场景:

HTTP Request 1 (loop 1)
HTTP Request 1 (loop 2)
HTTP Request 1 (loop 3)
HTTP Request 1 (loop 4)
** HERE we're getting out of Loop Controller and go to 2nd Loop of Thread Group, If controller doesn't fire as counter value is 4 and condition is >4**
HTTP Request 1 (loop 5)
HTTP Request 1 (loop 6)
HTTP Request 1 (loop 7)
HTTP Request 1 (loop 8)
** HERE counter value is 8 and If controller condition is met so **
HTTP Request 2 

作为 If Controller 计数器的子级没有递增

计数器配置:

  • 开始:1
  • 增量:1
  • 参考名称:N

如果控制器配置:

${N} > 4

有关详细信息,请参阅How to use JMeter's 'IF' Controller and get Pie 指南。

【讨论】:

  • 线程中的循环和计数器(配置元素)之间是否有关系?请你为我解释一下。如果我使用 While Controller,我可以在其中使用 Counter(配置元素)吗,我可以使用 While Controller replace for LOOP+IF Controller 吗?
  • 计数器在任何时候都会增加。 1 个循环 = 1 个增量,无论循环导致什么。我不完全了解您的用例以提供建议。虽然控制器将一直运行,直到 condition 变为 false。循环控制器将运行指定数量的循环,因此它们是不同的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多