在 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" 作为动作。

最后,将线程组设置为出错时继续。