我有一个JMeter脚本正在为x个用户运行。我想在一个while控制器中有条件地关闭一个用户线程。例如,如果我的while控制器为一个用户线程退出,我需要停止该线程。这可能吗?如果这是个重复或愚蠢的问题,请原谅。
至少有2个选项可以让你有条件地停止测试线程甚至整个测试。
使用 Beanshell Sampler 或 PostProcessor 并调用 setStopThread SampleResult类的方法。参见 如何使用BeanShell 比如说指南。供参考。
if (condition){
SampleResult.setStopThread(true); // for Beanshell Sampler
prev.setStopThread(true); // for Beanshell Post Processor
}
ctx.getThread().stop() 在当前线程中设置 "停止 "标志,它在JMeterContext ctx暴露的任何地方都能使用。
我刚刚在一个复杂的测试脚本中完成并验证了它。