Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
即使出现错误也要执行JMeter采样器_Jmeter - Fatal编程技术网

即使出现错误也要执行JMeter采样器

即使出现错误也要执行JMeter采样器,jmeter,Jmeter,考虑以下简化场景: 非常简单的用户旅程,其中多次执行操作1和操作2。当前,采样器错误后要采取的操作设置为“继续”,这意味着即使某个步骤失败(这不是很现实),采样器仍将继续发送请求,但它将执行调整 现在,如果我将设置更改为启动下一个线程循环,并且当说,Action 2失败时,它将绕过起搏(这也不是我想要的) 即使选择了“开始下一个线程循环”,在退出循环之前,是否有方法执行上面的定距?无论上述任何操作(可能有许多操作)是否失败,都应执行定距。与其将线程设置为在线程组级别继续,不如改为转到采样器,

考虑以下简化场景:

非常简单的用户旅程,其中多次执行
操作1
操作2
。当前,采样器错误后要采取的操作设置为“继续”,这意味着即使某个步骤失败(这不是很现实),采样器仍将继续发送请求,但它将执行
调整

现在,如果我将设置更改为启动下一个线程循环,并且当说,
Action 2
失败时,它将绕过起搏(这也不是我想要的)


即使选择了“开始下一个线程循环”,在退出循环之前,是否有方法执行上面的
定距
?无论上述任何操作(可能有许多操作)是否失败,都应执行定距。

与其将线程设置为在线程组级别继续,不如改为转到采样器,它在重新开始下一个循环方面具有相同的功能,但可以在本地应用

您的测试计划大纲应如下所示:

  • 登录
  • 回路控制器
    • 行动1
    • 条件为
      ${groovy(vars.get('JMeterThread.last_sample_ok')。等于('false'),)}
      • 步调
      • 测试动作
    • 行动2
    • 步调
  • 最后行动
  • 注销

${JMeterThread.last_sample_ok}
是一个保存以前的采样器结果的脚本,在上面的脚本中,它用于检查
请求1
是否成功

感谢您的回答,但是,想象一下必须将这些应用于测试套件中的每个采样器。一种更简单的方法是将
定步
放在循环的开始处。还有其他想法吗?我建议你不要再给我任何建议了,而且你在最初的问题版本中没有提到“每个采样器”的要求。如果你想把这个子句应用到每一个采样器上,你需要使用a,也就是说,在那里实现你的“调整”逻辑。我只是想知道jmeter中是否存在或可能存在其他方法。例如:如果我将某个特定的采样器标记为强制,则不管上面的状态如何,都可以执行该采样器,或者将
定步
位放在某个即使出错也会触发的位置。做事的方式多种多样。