在 Jmeter 中,如何让我的线程组在线程组的第一部分出现错误时启动下一个循环,并在第二部分出现错误时继续?
In Jmeter, how do I make my thread group to start next loop on error on the first part of my thread group and continue on error on the second part?
我有一个线程组,其中包含登录部分和检查不同网页的部分。我希望线程组永远循环,因为它用于监视。但是,我想在线程的登录部分发生错误时启动下一个循环,但我希望在其中一个网页发生错误时线程继续。我尝试使用 jsr223 postprocessors/samplers/listeners 和以下代码来做到这一点:
Boolean result = sampleResult.isSuccessful();
if ( result == false){
sampleResult.setStartNextThreadLoop(true);
}
我也尝试过使用 if controllers/while 控制器,但我不知道如何实现。
谁能帮帮我?
我以前处理过这个问题。
在您的 post 处理器中,您可以根据代码中显示的成功设置变量。由于 if 控制器的一些问题,我将我的设置为字符串而不是布尔值。
Boolean result = sampleResult.isSuccessful();
vars.put("success", result.toString())
在采样器之后,您有 post 处理器放置一个 If 控制器。条件应该是:
"${__javaScript("${success}"=="false")}"
将测试动作作为 If 控制器的子级,并将 select "Go to next loop iteration" 作为动作。
最后,将线程组设置为出错时继续。
我有一个线程组,其中包含登录部分和检查不同网页的部分。我希望线程组永远循环,因为它用于监视。但是,我想在线程的登录部分发生错误时启动下一个循环,但我希望在其中一个网页发生错误时线程继续。我尝试使用 jsr223 postprocessors/samplers/listeners 和以下代码来做到这一点:
Boolean result = sampleResult.isSuccessful();
if ( result == false){
sampleResult.setStartNextThreadLoop(true);
}
我也尝试过使用 if controllers/while 控制器,但我不知道如何实现。
谁能帮帮我?
我以前处理过这个问题。
在您的 post 处理器中,您可以根据代码中显示的成功设置变量。由于 if 控制器的一些问题,我将我的设置为字符串而不是布尔值。
Boolean result = sampleResult.isSuccessful();
vars.put("success", result.toString())
在采样器之后,您有 post 处理器放置一个 If 控制器。条件应该是:
"${__javaScript("${success}"=="false")}"
将测试动作作为 If 控制器的子级,并将 select "Go to next loop iteration" 作为动作。
最后,将线程组设置为出错时继续。