JMeter 脚本 - 根据条件停止所有线程组(整个测试)
JMeter Scripts - Stop All Thread Groups (Entire Test) based on a condition
我有一个包含多个线程组的 JMeter 脚本,这些线程组同时 运行。在一个线程组 PostProcessor
中,我想检查一个条件并停止 ALL 线程组,然后退出。基本上,我想停止整个测试。
if (Integer.valueOf(prev.getResponseCode()) >= 400) {
// Stop the entire test in the next line.
}
如何在 JMeter 脚本中一次停止所有线程组?
请看:
- 我的 JMeter 版本:5.3
- Groovy版本:3.0.3
prev.setStopTestNow(true);
stop the test now interrupting current running samplers
prev - (SampleResult) - gives access to the previous SampleResult (if any)
对于更突然和异常的退出,您可以exit Java处理
System.exit(1);
JMeter 使用以下条件自动处理 HTTP Request samplers with status codes above 400 as failed so you don't have to go for scripting, you can stop the test using If Controller:
${__jexl3("${JMeterThread.last_sample_ok}"=="false",)}
并添加 Flow Control Action 采样器作为 If 控制器的子项
如果您想在 Groovy 中执行此操作 - 请采用以下方法之一:
prev.setStopTest(true)
- 优雅地“请求”线程停止
prev.setStopTestNow(true)
- 强制“告诉”线程停止(您可能会收到与异常线程中断相关的额外错误)
我有一个包含多个线程组的 JMeter 脚本,这些线程组同时 运行。在一个线程组 PostProcessor
中,我想检查一个条件并停止 ALL 线程组,然后退出。基本上,我想停止整个测试。
if (Integer.valueOf(prev.getResponseCode()) >= 400) {
// Stop the entire test in the next line.
}
如何在 JMeter 脚本中一次停止所有线程组?
请看:
- 我的 JMeter 版本:5.3
- Groovy版本:3.0.3
prev.setStopTestNow(true);
stop the test now interrupting current running samplers
prev - (SampleResult) - gives access to the previous SampleResult (if any)
对于更突然和异常的退出,您可以exit Java处理
System.exit(1);
JMeter 使用以下条件自动处理 HTTP Request samplers with status codes above 400 as failed so you don't have to go for scripting, you can stop the test using If Controller:
${__jexl3("${JMeterThread.last_sample_ok}"=="false",)}
并添加 Flow Control Action 采样器作为 If 控制器的子项
如果您想在 Groovy 中执行此操作 - 请采用以下方法之一:
prev.setStopTest(true)
- 优雅地“请求”线程停止prev.setStopTestNow(true)
- 强制“告诉”线程停止(您可能会收到与异常线程中断相关的额外错误)