在Beanshell PreProcessor中停止JMeter测试

时间:2017-08-17 11:44:03

标签: java jmeter preprocessor beanshell

我需要一种方法来阻止我的主要样本被执行并停止我的测试。

我已经在stackoverflow上阅读了这篇文章,但这并不妨碍主要样本的执行。 JMeter - Stop Thread from within a BeanShell PreProcessor

我在JMeter 3.2中有一个HTTP采样器(可能是除BeanShell采样器之外的任何其他示例),其中包含以下代码行的BeanShell预处理器:

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

现在这确实会停止我的测试但不会在执行主样本后停止。 所以我需要一些能够阻止我的测试的东西,并阻止主样本被执行。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:4)

只需在需要时调用ctx.getEngine().askThreadsToStop(),它就会执行正常关机。

更多“硬”方法是:

ctx.getEngine().stopTest();

甚至

System.exit(1);

请记住,使用Beanshell进行脚本编写是not recommended,从JMeter 3.1开始,我们鼓励用户切换到JSR223 Test ElementsGroovy语言,有关详细信息,请查看Apache Groovy - Why and How You Should Use It