【问题标题】:JMeter, how to loop once for every sampler in an Interleave controllerJMeter,如何为交错控制器中的每个采样器循环一次
【发布时间】:2023-03-13 05:37:02
【问题描述】:

我正在使用 JMeter 来自动化一些测试,并且我有一个非常基本的设置,包括登录和注销部分,然后是一些单独的测试。我想要的是每个测试都登录,做它的事情,然后注销。现在,所有测试都在一个交错控制器中,登录/退出部分在外面。如果我有 10 个测试,我将 ThreadGroup 设置为循环 10 次,并且一切都按我的预期工作。

但是,我们有 3 个人编写了他们自己的个人测试,这些测试应该进入交错控制器,并且测试的数量正在增加。通过手动计数来确保 ThreadGroup 循环的数量与测试的数量相匹配变得有点麻烦,我正在寻找一种方法来告诉 JMeter 循环的次数与 Interleave 控制器中的子项一样多。有什么建议吗?

我也不介意尝试不同的结构,只要它符合我的要求,并且不会强迫人们将登录/退出部分添加到每个测试中。

提前致谢。

【问题讨论】:

标签: loops jmeter


【解决方案1】:

怎么样:

  • 使用测试片段在他们的单个测试计划中隔离登录/注销

  • 每个用户都有自己的测试计划,并通过 IncludeController 使用前一个测试计划

  • 他会使用 ModuleController 在他的测试中调用它们

我不确定这是不是正确的答案,但为了让它变得更好,请解释一下您在 3 人团队中想要实现的目标

【讨论】:

  • 问题不在于我们有 3 个人并且需要以某种方式共享测试。问题是:考虑到 x 很大并且经常变化,我如何循环通过 x 个测试,每个测试在其之前和之后运行一个测试片段。
【解决方案2】:

虽然是个老问题 ;-) 如果我不得不这样做,我可能会这样解决它:

  • 循环控制器 [永远]
    • 登录
      • 交错
        • 一次性控制器
          • 测试 1
        • 一次性控制器
          • 测试 2
        • 一次性控制器
          • 测试 x
        • 一次性控制器
          • 退出
          • 测试操作 [停止]
  • 退出

将线程组设置为一个线程,运行一次。你会很高兴去的。最后一个测试将是空的(例如,它登录并再次注销)。如果这会是一个问题,您可以考虑将测试操作添加到任何最后执行的测试中。

从我的角度来看,我不会这样解决它。只需运行由不同团队成员创建的不同集合。无论如何,在一个 jmx 上工作是一种痛苦......

注意:我很想知道你是如何解决它的 ;-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 2021-05-15
    • 1970-01-01
    • 2015-01-06
    • 2022-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多