基于线程组一中的条件的多线程组执行

时间:2019-07-22 06:51:51

标签: multithreading jmeter jmeter-4.0 jmeter-5.0

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

  • 线程组一
  • regex-成功
  • BeanShell断言-${__setProperty(success,${success})};

线程组2,如果控制器- ${__jexl3("${success}"== "Save and submit was successful")}

预期-根据条件线程组2应该执行执行流。

2 个答案:

答案 0 :(得分:0)

您需要检查task :deploy_all do isolate do domains.each do |domain| set :domain, domain invoke :deploy run! end end end 中的值,并使用props__groovy来比较字符串:

equals

答案 1 :(得分:0)

您的${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演示测试计划

相关问题