【问题标题】:Dependency among multiple thread groups in JMeterJMeter中多个线程组之间的依赖关系
【发布时间】:2016-12-21 15:02:39
【问题描述】:

我已经建立了一个多线程组的负载测试计划,即 -

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

如果注册线程没有成功,我不想执行剩余的线程组。在单个线程组的情况下,我可以使用if controller 并在一个样本失败时丢弃样本,但是当我使用多个线程组时如何实现它。

【问题讨论】:

  • 为什么一定要使用线程组? IMO 这是控制器(例如吞吐量控制器)提供相同功能但比线程组更简单的经典案例。如果一定要使用线程组,这个问题基本和这个一样:stackoverflow.com/questions/707832/…

标签: jmeter


【解决方案1】:

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

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

但是,鉴于您的场景,您要么需要传递整个线程上下文(cookie、缓存等),这可能会很棘手,因此将所有采样器放在同一个线程组下并使用 Throughput Controller、@ 会更好987654324@ 或 Weighted Switch Controller,无论哪种方式最接近您的方案。请参阅Running JMeter Samplers with Defined Percentage Probability 指南了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    • 2010-11-18
    • 1970-01-01
    相关资源
    最近更新 更多