Search code examples
jmeterbeanshell

JMeter - Stop Thread from within a BeanShell PreProcessor


Is it possible to stop a Thread, or force a failure from within a BeanShell PreProcessor? I tried accessing the "stop()" function/method from the ThreadGroup Class and a few others, but I'm not sure I'm doing it right or if its possible.

I wanted to force my Test to stop inside my BeanShell PreProcessor if this one particular if statement inside my script resulted in TRUE... Is this possible? I did read a little of the "Failure" and "FailureMessage" functions, but wasn't sure the end result of using those was.

Any thoughts or suggestion would be greatly appreciated!

Thanks in Advance,
Matt


Solution

  • In a beanshell pre processor, you could try this:

    org.apache.jmeter.engine.StandardJMeterEngine.stopThread(Thread.currentThread().getName()); 
    

    In a beanshell post processor:

    if (condition) prev.setStopThread(true);
    

    If you can express your condition as an if-controller though, I would prefer to use a Test Action.