在 Beanshell 预处理器中停止 JMeter 测试

Stop JMeter test in Beanshell PreProcessor

我需要一种方法来停止执行我的主要示例并停止我的测试。

我已经在 Whosebug 上阅读了这个 post 但这不会阻止执行主要示例。

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

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

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

如有任何帮助,我们将不胜感激!

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

更多"hard"方法有:

ctx.getEngine().stopTest();

甚至

System.exit(1);

请记住,使用 Beanshell 编写脚本是 not recommended, starting from JMeter 3.1 users are encouraged to switch to JSR223 Test Elements and Groovy language, check out Apache Groovy - Why and How You Should Use It 的详细信息。