在JMeter中有条件地停止用户线程

在JMeter中有条件地停止用户线程,jmeter,Jmeter,我有一个为x个用户运行的JMeter脚本。我想有条件地关闭while控制器中的用户线程。例如,如果某个用户线程的while控制器退出,则需要停止该线程。可能吗?如果这是重复或愚蠢的问题,很抱歉。关于如何有条件地停止测试线程甚至整个测试,至少有两个选项: 结合使用取样器和 使用Beanshell采样器或后处理器并调用SampleResult类的方法。例如,参见指南。供参考: if (condition){ SampleResult.setStopThread(true); // for B

我有一个为x个用户运行的JMeter脚本。我想有条件地关闭while控制器中的用户线程。例如,如果某个用户线程的while控制器退出,则需要停止该线程。可能吗?如果这是重复或愚蠢的问题,很抱歉。

关于如何有条件地停止测试线程甚至整个测试,至少有两个选项:

  • 结合使用取样器和
  • 使用Beanshell采样器或后处理器并调用SampleResult类的方法。例如,参见指南。供参考:

    if (condition){
        SampleResult.setStopThread(true); // for Beanshell Sampler
        prev.setStopThread(true); // for Beanshell Post Processor
    }
    
  • getThread().stop()在当前线程中设置“stop”标志,它可以在JMeterContext ctx公开的任何位置工作

    我刚刚在一个复杂的测试脚本中完成并验证了它。

    本例中的“SampleResult”和“prev”是什么?它们是预先设置的变量,还是测试中对其他元素名称的引用?