如果失败或 ResponseCode 不等于 200,则 Jmeter 重试请求
Jmeter Retry Request if failed or ResponseCode not equal to 200
我有一个包含数百条记录的 CSV 文件,我现在有时在多线程或多线程的 HTTP 采样器中使用它 returns 一个错误,我没问题,但我想重试以防万一没有我正在提取的 ResponseCode 200,但不确定如何仅重试该请求,而且我想将尝试限制为 5
我试过将 while 控制器与 Counter 一起使用,但不知何故无法做到这一点。请帮忙。
这是我试过的
您需要在计数器中定义 Exported Variable Name
否则它没有任何意义:
您需要在 __groovy() 函数中使用 vars
shorthand for JMeterVariables class instance 来获取 Counter
和 Success
变量值
${__groovy(vars.get('Status') != 'Success' && (vars.get('Counter') as int) < 5,)}
Since JMeter 3.1 you should be using JSR223 Test Elements and Groovy language so consider replacing your Beanshell Assertion with JSR223 Assertion
将以下内容添加到 while controller ${__javaScript(parseInt(vars.get("Response_code"))!=200)}
while controller里面添加相关请求
为上述请求添加JSR223 PostProcessor
,并在“JSR223 PostProcessor”中添加以下代码
vars.put("Response_code",prev.getResponseCode());
在user defined variables
中设置Response_code
变量
我有一个包含数百条记录的 CSV 文件,我现在有时在多线程或多线程的 HTTP 采样器中使用它 returns 一个错误,我没问题,但我想重试以防万一没有我正在提取的 ResponseCode 200,但不确定如何仅重试该请求,而且我想将尝试限制为 5
我试过将 while 控制器与 Counter 一起使用,但不知何故无法做到这一点。请帮忙。
这是我试过的
您需要在计数器中定义
Exported Variable Name
否则它没有任何意义:您需要在 __groovy() 函数中使用
vars
shorthand for JMeterVariables class instance 来获取Counter
和Success
变量值${__groovy(vars.get('Status') != 'Success' && (vars.get('Counter') as int) < 5,)}
Since JMeter 3.1 you should be using JSR223 Test Elements and Groovy language so consider replacing your Beanshell Assertion with JSR223 Assertion
将以下内容添加到 while controller ${__javaScript(parseInt(vars.get("Response_code"))!=200)}
while controller里面添加相关请求
为上述请求添加JSR223 PostProcessor
,并在“JSR223 PostProcessor”中添加以下代码
vars.put("Response_code",prev.getResponseCode());
在user defined variables
Response_code
变量