【问题标题】:Multiple thread group execution based on a condition in thread group one基于线程组一条件的多线程组执行
【发布时间】:2019-07-22 15:25:02
【问题描述】:

我有多个线程组(2 个线程组),根据条件一个线程组应该运行,如果条件失败不应该运行线程组 2。

  • 线程组一
  • 正则表达式 - 成功
  • BeanShell 断言 - ${__setProperty(success,${success})};

线程组二 if 控制器 - ${__jexl3("${success}"== "Save and submit was successful")}

预期 - 基于条件线程组 2 执行流程应该运行。

【问题讨论】:

    标签: multithreading jmeter jmeter-4.0 jmeter-5.0


    【解决方案1】:

    您需要检查props 中的值并使用__groovyequals 来比较字符串:

    ${__groovy("Save and submit was successful".equals(props.get("success")))}
    

    【讨论】:

      【解决方案2】:

      您的 ${success} 表达式代表 JMeter 变量,而您需要评估 JMeter 属性。

      根据documentation

      属性与变量不同。变量是线程本地的;属性对所有线程都是通用的,需要使用 __P 或 __property 函数来引用。

      所以你需要修改 If Controller 的条件以包含 __P() function 像:

      ${__jexl3("${__P(success,)}"=="Save and submit was successful",)}
      

      请注意,您必须在Test Plan 级别上勾选Run Thread Groups consecutively 框。在大多数情况下,最好选择Inter-Thread Communication Plugin,查看SynchronizationExample.jmx 演示测试计划

      【讨论】:

        猜你喜欢
        • 2012-06-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多