设置' foreach controller'之间的时间间隔/计时器。请求Jmeter

时间:2018-03-20 07:26:22

标签: jmeter

在foreach控制器'之间设置时间间隔/计时器。请求。

我们有以下情况: 登录单个用户>多次点击问题

在测试计划中使用的Jmeter中实现上述情况:

ThreadGroup - 1 user, 1 ramp up period, 1 loop

-HTTP request to login

-Questionslist - RegExp to get list of questions with -1

-ForEach Controller - 100 times loop count

--HTTP request

当'定时器'设置在' ForEach控制器'并没有真正考虑这个计时器值(例如:2000毫秒)

请指导如何在' ForEach控制器'之间留出时间差。 http请求。

1 个答案:

答案 0 :(得分:0)

实际上Constant Timer应该可以正常工作,但是您不会在任何地方看到此延迟,因为默认情况下,PreProcessorsPost-ProcessorsTimers的持续时间不会包含在采样器时间内。

您可以将您的HTTP请求和计时器置于Transaction Controller下并将其配置为:

  • 生成父样本
  • 在生成的样本中包括计时器和事先处理器的持续时间

这样您就可以将定时器时间(2秒)添加到样品结果中。

然而,上述方法基于每用户,这意味着每个虚拟用户在HTTP请求之间将有2秒的延迟。如果您希望有2秒的绝对空闲时间,即根本没有请求,您可以在HTTP请求采样器之后添加Test Action采样器,并将其配置为产生2000毫秒的延迟。同时将Synchronizing Timer作为Test Action采样器的子项,并将Number of Simultaneous Users to Group by设置为等于Thread Group中的虚拟用户数 - 这样,Test Action sampler将充当{{3}并且所有的虚拟用户都会满足"在那里睡觉"一起2秒。