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

问题描述 投票:9回答:2

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

jmeter
2个回答
14
投票

至少有2个选项可以让你有条件地停止测试线程甚至整个测试。

  1. 使用 测试动作 采样器与 如果控制器
  2. 使用 Beanshell Sampler 或 PostProcessor 并调用 setStopThread SampleResult类的方法。参见 如何使用BeanShell 比如说指南。供参考。

    if (condition){
        SampleResult.setStopThread(true); // for Beanshell Sampler
        prev.setStopThread(true); // for Beanshell Post Processor
    }
    

0
投票

ctx.getThread().stop() 在当前线程中设置 "停止 "标志,它在JMeterContext ctx暴露的任何地方都能使用。

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

© www.soinside.com 2019 - 2024. All rights reserved.