当前位置: 首页 > news >正文

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、实例截图

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 抽象代数精解【5】
  • 基于配置实现RoaringBitMap的交、差、并集处理
  • JavaSE第11篇:设计模式
  • Servlet(2)
  • C语言 | Leetcode C语言题解之第321题拼接最大数
  • 免费自动化AI视频剪辑工具
  • 深入解析Apache Flink中的事件时间与处理时间
  • 使用TensorRT对YOLOv8模型进行加速推理
  • 解决方案:Cannot write to ‘torch-2.0.1+cu118-cp310-cp310-linux_x86_64.whl.3’ (成功).
  • 我的256天创作纪念日
  • 《学会 SpringMVC 系列 · 剖析初始化》
  • 学习分享:电商平台 API 接入技术要点深度剖析
  • 分享一个简单线性dp
  • 2024 年华数杯全国大学生数学建模竞赛题目B 题 VLSI 电路单元的自动布局完整成品文章分享
  • C++——哈希结构
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 《Java编程思想》读书笔记-对象导论
  • 【comparator, comparable】小总结
  • Bootstrap JS插件Alert源码分析
  • CODING 缺陷管理功能正式开始公测
  • docker python 配置
  • Git学习与使用心得(1)—— 初始化
  • Js基础知识(一) - 变量
  • MySQL数据库运维之数据恢复
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • Yeoman_Bower_Grunt
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 动态规划入门(以爬楼梯为例)
  • 对象引论
  • 解析带emoji和链接的聊天系统消息
  • 少走弯路,给Java 1~5 年程序员的建议
  • 深入浅出webpack学习(1)--核心概念
  • 通过几道题目学习二叉搜索树
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • ​LeetCode解法汇总518. 零钱兑换 II
  • $nextTick的使用场景介绍
  • (vue)el-cascader级联选择器按勾选的顺序传值,摆脱层级约束
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (回溯) LeetCode 40. 组合总和II
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)JAVA中的堆栈
  • (转载)Google Chrome调试JS
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .bashrc在哪里,alias妙用
  • .form文件_SSM框架文件上传篇
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .Net Remoting常用部署结构
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET连接数据库方式
  • :中兴通讯为何成功