如何在Beanshell断言中停止进一步执行程序

时间:2016-11-15 09:12:07

标签: java jmeter beanshell

if(!reqAdSize.equalsIgnoreCase(hm.get("ad_size")))
{
    Failure = true;
    FailureMessage = "Ad Sizes Doesn't Match";
}

if(!reqCur.equalsIgnoreCase(resCur))
{
    Failure = true;
    FailureMessage = "Request & Responce Currency are NOT same";
}

if(!reqID.equalsIgnoreCase(resID))
{
    Failure = true;
    FailureMessage = "Request & Responce Id is NOT same";
}

在我的jeMter中,如果条件令人满意,这里是我的BeanShell断言代码。 结果它将显示最后的 FailureMessage 。如果第一个条件为真,我将需要停止代码的执行,并且它不会进一步执行。

我尝试使用System.exit(0);exit();。但是jMeter GUI会自动关闭 什么是在BeanShell中停止当前行执行的方法。

2 个答案:

答案 0 :(得分:3)

在您想要停止执行BeanShell代码的地方添加return关键字。

答案 1 :(得分:0)

您在Beanshell断言中有SampleResult个预定义变量,它是org.apache.jmeter.samplers.SampleResult类的简写。看看以下方法:

类似的东西:

if (!reqAdSize.equalsIgnoreCase(hm.get("ad_size"))) {
    Failure = true;
    FailureMessage = "Ad Sizes Doesn't Match";
    SampleResult.setStopTest(true);
}

JMeter上下文中的Beanshell脚本编写指南:How to Use BeanShell: JMeter's Favorite Built-in Component