jmeter 如何使用while循环/计数器评估事务响应时间并在不成功时使其失败

anauzrmj  于 2023-02-12  发布在  其他
关注(0)|答案(1)|浏览(95)

我正在通过API上传一个文件,并对该文件进行“轮询”,执行以下2个步骤/事务:

  1. HTTP请求上传,我收到临时状态响应“上传”
  2. While循环使用计数器,直到响应状态更改为“success”,但不超过10次。${__javaScript(“${STATUS}”!=“success”&& ${counter}〈10,)}

问题-1:我如何测量步骤2的响应时间,因为它是变化的(有时,文件将上传2次,有时在8次)?
问题-2:当状态在10次迭代/尝试后仍未变为成功时,如何使步骤2失败?

有人能帮帮忙吗?
谢谢N

egdjgwm8

egdjgwm81#

1.将所有内容都放在Transaction Controller下,它将测量所有迭代的持续时间。
1.您可以使用JSR223Assert,示例代码如下所示:

if (vars.get('counter') == '9' && vars.get('STATUS') != 'success') {
    AssertionResult.setFailureMessage(true)
    AssertionResult.setFailureMessage('Status is ' + vars.get('STATUS') + ' after ' + vars.get('counter') + ' iterations')
}

将其作为第2个请求的子请求,如果10次迭代后状态不是success,则将采样器标记为失败。

相关问题