当前位置:   article > 正文

jmeter 重试机制_jmeter 接口失败重试

jmeter 接口失败重试

一、功能实现

我们在测试过程中,请求接口可能是因为请求超时,或者接口异常失败,导致整个测试链路验证失败,jmeter重试机制,这个时候就可以避免上述问题发生

二、配置

1、添加线程组

首先,确保你已经在测试计划中添加了一个线程组

2. 添加HTTP请求
在线程组下添加你的HTTP请求。

3. 添加变量来跟踪重试次数
在HTTP请求之前,添加一个“用户定义的变量”元素来初始化重试次数。比如,我们初始化一个名为retryCount的变量:

变量名:retryCount
变量值:0
4. 添加“While Controller”
在HTTP请求之前,添加一个“While Controller”来进行重试逻辑。条件设置为

${__javaScript(("${status}"!="fali")&&("${waitTimes}"<"5"))} 这意味着当retryCount小于5时继续重试。

5.  添加“BeanShell断言”
在HTTP请求后添加一个“BeanShellBeanShell断言”,用于判断请求是否成功并增加重试次数。脚本如下:

String get_url = SampleResult.getUrlAsString();
String response_data = prev.getResponseDataAsString();
String code = prev.getResponseCode();
String result1 = "\"success\":true";//为正常请求响应中请求成功标签,需要根据每个请求响应不同进行修改
if(code.equals("200")){
    if(!response_data.contains(result1)){
        Failure =true;
        FailureMessage = get_url + ",接口报错" + response_data;
        log.error(FailureMessage);
        vars.put("status","success");
    
    }else{
        Failure = false;
        vars.put("status","fali");
    }
}else{
        Failure =true;
        FailureMessage = get_url + ",接口报错" + response_data;
        log.error(FailureMessage);
        vars.put("status","success");
}
vars.put("waitTimes","${__counter(FALSE,Vcount)}");

6、实例截图

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/925008
推荐阅读
相关标签
  

闽ICP备14008679号