【发布时间】:2021-03-03 17:02:53
【问题描述】:
我有一个 JMeter 脚本,它向 5 个不同的端点发出请求。如果出现错误,则应停止该线程。
但是,我想在停止线程之前重试对第三个端点的请求 3 次。
这是我的脚本的样子:
- 线程组(选择了停止线程)
- HTTP 请求(第一个端点)
- HTTP 请求(第二个端点)
- 事务控制器
- 当控制器
- HTTP 请求(第三个端点)
- JSR223 PostProcessor(将响应代码保存在变量中以供 while 控制器检查)
- 计数器(用于跟踪重试次数)
- HTTP 请求(第三个端点)
- JSR223 断言(将结果设置为成功,因此第一次失败的重试不计算在内)
- 当控制器
- HTTP 请求(第四个端点)
- HTTP 请求(第 5 个端点)
由于我勾选了线程组下的停止线程选项,如果对第三个端点的第一次请求失败,线程将停止并且不会重试。
如果我选中继续,则对第三个端点的重试将按预期工作,但如果对其他端点的请求失败,则线程不会停止。
我还尝试将以下 Groovy 脚本添加到 JSR223 PostProcessor,但没有成功:
if (prev.isStopThread()) {
prev.setStopThread(false)
}
如果能得到任何帮助,我将不胜感激。
谢谢!
【问题讨论】:
标签: jmeter jmeter-5.0