JMeter中多个线程组之间的依赖关系

时间:2016-12-21 15:02:39

标签: jmeter

我已经设置了一个包含多个线程组的负载测试计划,即 -

  • 注册(50%的主题)
  • 下订单(10%的线程)
  • 更多操作(剩余线程)

此处如果注册线程不成功,我不想执行剩余的线程组。如果是单个线程组,我可以使用if controller并在一个示例失败时丢弃示例,但是当我使用多个线程组时如何实现它。

1 个答案:

答案 0 :(得分:1)

JMeter变量范围仅限于当前的线程组,如果要根据另一个线程组中设置的条件使用If控制器 - 您应该使用JMeter属性(JMeter属性范围对于整个JVM是全局的) )。有关将JMeter变量转换为JMeter属性的详细信息,请参阅How to Use Variables in Different Thread Groups文章。

在线程组之间传递数据和设置依赖关系时,您可能还会发现InterThread Communication插件很有用。

但是,根据您的场景,您需要传递整个线程上下文(cookie,缓存等),这可能会很棘手,因此将所有采样器放在同一个线程组下并使用Throughput Controller会更好,Switch ControllerWeighted Switch Controller,无论您的情景与最接近的方式相匹配。有关详细信息,请参阅Running JMeter Samplers with Defined Percentage Probability指南。