0

谁能建议一种在 JMeter 中控制请求流的好方法。这是问题陈述:

测试计划:

  • 事务控制器“主页”
    • 请求 1
    • 请求 2
    • 请求 3
  • 事务控制器“新闻”
    • 请求 1
    • 请求 2
  • 事务控制器“结果”
    • 请求 1
    • 请求 2

我需要的是创建控制器,它将执行以下操作:1)在“主页”完成后,50% 的用户将结束测试,20% 将进入“新闻”,30% 将进入“结果”。2)“新闻”完成后,80% 将转到“结果”,20% 将再次转到“新闻”。

就我而言,可能的解决方案是创建复杂的“如果控制器”来检查以下内容:

random_value >= 50%

并运行所需的控制器

但这似乎有点棘手,可能有专为此类事情设计的插件/步骤?或者我可以使用一些脚本进行流量控制,例如:

if(random_value >= 50%) {
   runner.runController("News") 
} else {
   runner.runController("Results") 
}

?

4

2 回答 2

0

听起来您需要吞吐量控制器: http: //jmeter.apache.org/usermanual/component_reference.html#Throughput_Controller 要结束测试,您可以使用测试操作采样器。

于 2013-10-09T14:20:37.807 回答
0

我也会开始使用吞吐量控制器。
以下结构应该非常接近您需要的行为。

  • 事务 Ctrl '主页'
  • 吞吐量 Ctrl '结果(权重 30)
    • 模块控制器“结果”
  • 吞吐量 Ctrl '否则'(权重 20)
    • 简单的控制器
      • 模块控制器“新闻”
      • 吞吐量 Ctrl 'News2'(权重 20)
        • 模块控制器“新闻”
      • 吞吐量 Ctrl 'Results2'(权重 80)
        • 模块控制器“结果”
  • 事务 Ctrl 退出

请注意,此结构允许某些用户流过树的每个叶子,因为每个吞吐量控制器都独立于另一个进行评估。

显然我没有尝试过,但我认为这是一个很好的近似值,需要付出合理的努力。

于 2013-10-09T22:14:48.883 回答