jmeter 重试机制

打印 上一主题 下一主题

主题 928|帖子 928|积分 2784

一、功能实现
我们在测试过程中,请求接口大概是由于请求超时,或者接口异常失败,导致整个测试链路验证失败,jmeter重试机制,这个时候就可以避免上述题目发生
二、配置
1、添加线程组
首先,确保你已经在测试筹划中添加了一个线程组
2. 添加HTTP请求
在线程组下添加你的HTTP请求。
3. 添加变量来跟踪重试次数
在HTTP请求之前,添加一个“用户界说的变量”元向来初始化重试次数。比如,我们初始化一个名为retryCount的变量:
变量名:retryCount
变量值:0
4. 添加“While Controller”
在HTTP请求之前,添加一个“While Controller”来进行重试逻辑。条件设置为
  1. ${__javaScript(("${status}"!="fali")&&("${waitTimes}"<"5"))} 这意味着当retryCount小于5时继续重试。
复制代码
5.  添加“BeanShell断言”
在HTTP请求后添加一个“BeanShellBeanShell断言”,用于判定请求是否成功并增加重试次数。脚本如下:
  1. String get_url = SampleResult.getUrlAsString();
  2. String response_data = prev.getResponseDataAsString();
  3. String code = prev.getResponseCode();
  4. String result1 = ""success":true";//为正常请求响应中请求成功标签,需要根据每个请求响应不同进行修改
  5. if(code.equals("200")){
  6.     if(!response_data.contains(result1)){
  7.         Failure =true;
  8.         FailureMessage = get_url + ",接口报错" + response_data;
  9.         log.error(FailureMessage);
  10.         vars.put("status","success");
  11.    
  12.     }else{
  13.         Failure = false;
  14.         vars.put("status","fali");
  15.     }
  16. }else{
  17.         Failure =true;
  18.         FailureMessage = get_url + ",接口报错" + response_data;
  19.         log.error(FailureMessage);
  20.         vars.put("status","success");
  21. }
  22. vars.put("waitTimes","${__counter(FALSE,Vcount)}");
复制代码
6、实例截图





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

小小小幸运

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表