我有一个 JMeter 脚本,其中包含多个同时运行的线程组。在一个线程组 PostProcessor
中,我想检查一个条件并停止 ALL 线程组,然后退出。基本上,我想停止整个测试。
if (Integer.valueOf(prev.getResponseCode()) >= 400) {
// Stop the entire test in the next line.
}
如何在 JMeter 脚本中一次停止所有线程组?
请看:
- 我的 JMeter 版本:5.3
- 常规版本:3.0.3
最佳答案
JMeter 自动处理 HTTP Request状态代码高于 400 的采样器失败,因此您不必编写脚本,您可以使用 If Controller 停止测试使用以下条件:
${__jexl3("${JMeterThread.last_sample_ok}"=="false",)}
并添加Flow Control Action作为 If Controller 子级的采样器
如果您想在 Groovy 中执行此操作 - 请选择以下方法之一:
prev.setStopTest(true)
- 优雅地“请求”线程停止prev.setStopTestNow(true)
- 强制“告诉”线程停止(您可能会遇到与异常线程中断相关的额外错误)
关于groovy - JMeter 脚本 - 根据条件停止所有线程组(整个测试),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67890964/