If statement 如何在Jmeter测试计划中实现If-Else块?
我有一个任务,我需要根据前面的采样器结果执行两个任务If statement 如何在Jmeter测试计划中实现If-Else块?,if-statement,jmeter,If Statement,Jmeter,我有一个任务,我需要根据前面的采样器结果执行两个任务 如果断言失败 { 发送带有错误消息的电子邮件。 }否则 { 在while controller中执行任务。 } 通过在If controller${JMeterThread.last_sample\u ok}==false 我去别的街区有困难。我尝试了两个IF控制器,但没有成功。 这里的情况是只需要执行一个任务IF block或Else block。但在我的例子中,它同时执行两个块和两个任务。 有谁能帮助实现这一目标 JMeter中没有“E
如果断言失败
{
发送带有错误消息的电子邮件。
}否则
{
在while controller中执行任务。
}
通过在If controller${JMeterThread.last_sample\u ok}==false
我去别的街区有困难。我尝试了两个IF控制器,但没有成功。
这里的情况是只需要执行一个任务IF block或Else block。但在我的例子中,它同时执行两个块和两个任务。
有谁能帮助实现这一目标 JMeter中没有“Else”块,只有“If”,因此如果需要“Else”行为,则需要使用2个条件相反的If控制器
但是,对于第二个If控制器,您将无法将其用作此${JMeterThread.last_sample_ok}
变量,该变量将被SMTP采样器的结果覆盖,因此如果SMTP采样器成功${JMeterThread.last_sample_ok}
变量将变为真因此第二个If控制器也将执行
因此,我建议采取以下方法:
- 如果您的断言失败
- 在Beanshell预处理器中,定义自定义变量,如:
vars.put("run_while_controller", "false");
- 在Beanshell预处理器中,定义自定义变量,如:
- 将While控制器置于另一个If控制器下,并使用
作为条件${run\u While\u Controller}
接下来,我建议使用并仔细检查所有JMeter变量值,这是查看所有JMeter变量和属性值的最方便的方法。有关深入了解JMeter测试意外行为的更多信息,请参阅文章。两个IF控制器要求相同的条件写入两次(尽管一次被否定),这是潜在的缺陷源,以便在两个位置上都有一个IF。可疑的。