【问题标题】:Set time gap/timer between 'foreach controller' requests in Jmeter在 Jmeter 中设置“foreach 控制器”请求之间的时间间隔/计时器
【发布时间】:2018-03-20 16:05:28
【问题描述】:

设置“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 请求之间设置时间间隔。

【问题讨论】:

  • 你能显示你添加的计时器吗?
  • 感谢您的意见,但由于我们的应用程序当前已关闭,因此无法测试和分享内容,将再次检查并更新。

标签: jmeter


【解决方案1】:

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

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

  • 生成父样本
  • 在生成的样本中包含计时器和前置后处理器的持续时间

这样您就可以将计时器时间(2 秒)添加到您的示例结果中。


但是上述方法是基于每个用户,这意味着每个虚拟用户在 HTTP 请求之间会有 2 秒的延迟。如果您希望有 2 秒的绝对空闲时间,即当根本没有发出请求时,您可以在 HTTP 请求采样器之后添加一个 Test Action 采样器并将其配置为产生 2000 毫秒的延迟。还将Synchronizing Timer 设置为测试操作采样器的子级,并将Number of Simultaneous Users to Group by 设置为等于Thread Group 中的虚拟用户数 - 这样测试操作采样器将充当rendezvous point,所有虚拟用户将在那里“见面”一起“睡觉”2秒钟。

【讨论】:

  • 感谢您的意见和指导,但是由于我们的应用程序当前已关闭,因此无法测试和分享内容,将再次检查并更新。
猜你喜欢
  • 2021-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-17
  • 2012-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多