我需要一种方法来阻止我的主要样本被执行,同时也停止我的测试。
我已经阅读了关于stackoverflow的文章,但这并不妨碍执行主样本。 JMeter - Stop Thread from within a BeanShell PreProcessor
我在JMeter 3.2中有一个HTTP采样器(除了BeanShell采样器之外,还可以是其他任何采样器),其BeanShell PreProcessor包含以下代码行:
org.apache.jmeter.engine.StandardJMeterEngine.stopThread(Thread.currentThread().getName());
现在这确实停止了我的测试,但是并没有在执行主样本之后停止。
因此,我需要一些可以停止测试并阻止执行主样本的东西。
任何帮助将不胜感激!
最佳答案
只需在需要时调用ctx.getEngine().askThreadsToStop()
,它将正常关闭。
更多的“硬”方法是:
ctx.getEngine().stopTest();
甚至
System.exit(1);
请记住,使用Beanshell编写脚本是not recommended,从JMeter 3.1开始,鼓励用户切换到JSR223 Test Elements和Groovy语言,有关详细信息,请查看Apache Groovy - Why and How You Should Use It。