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

Jmeter——循环控制器中实现Counter计数器的次数重置

近期在使用Jmeter编写个辅助测试的脚本,用到了多个Loop Controller和Counter。

当时想的思路就是三个可变的数量值,使用循环实现;但第三个可变值的数量次数,是基于第二次循环中得到的结果才能确认最终次数,每次的结果还会有不一样的情况。基于思路,先写了个线性脚本,实现如下所示:

在这里插入图片描述

但实际中,第三层循环,并没有按自己预期来实现,所以就想到了Counter计数器,将脚本中加入了Counter计数器,实现如下所示:

在这里插入图片描述

图中的数字说明: f o r 1 {for1} for1{for2}${for3}

${for1}是第一个循环器中的Counter变量名
${for2}是第二个循环器中的Counter变量名
${for3}是第三个循环器中的Counter变量名

从图中可以看出,${for3}是累加的,不会随着一次循环结束,计数自动重置。

我所想实现的是,第二层循环中的第一次获取的结果是5个数组,则从索引0 ~ 4依次按置执行第三层循环;第二层循环中的第二次获取的结果是8个数组,则从索引0 ~ 7依次按置执行第三层循环。

但这样操作下来,第二次是会直接从索引5开始执行,这样就会丢失一部分数据,显然不是自己所想的。

中途也试过很多错,都不能实现计数重置的功能。好在,某天想起了官方文档,这个功能在文档是有描述的,如下所示:

在这里插入图片描述

文档中描述的很清楚,可以使用${__jm__LC__idx}的方式实现index从0开始,其中LC为控制器的名称。

使用官网的文档,在脚本中加入变量使用,运行如下所示:

在这里插入图片描述

从图中可知,第三层循环的第四个数字就是我所想要的,终于解决了心中的问题。

图中的数字说明: f o r 1 {for1} for1{for2}KaTeX parse error: Expected group after '_' at position 7: {for3}_̲{resetForNumber}

前三个数字在之前已经说明过了,这里只说明下${resetForNumber},这个变量是通过BeanShell Sampler中获取的,因为将官网给出的方案写在了BeanShell Sampler种,代码如下所示:

long i=0;
i = ${__jm__Loop Controller3__idx};
vars.put("resetForNumber",String.valueOf(i));

虽然,描述起来很简单,但的确是实际脚本实现的过程中遇到的一个阻碍,好在问题解决了。

所以特整理此篇,希望对以后有需要的朋友有所帮助。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

http://www.lryc.cn/news/236165.html

相关文章:

  • [创业之路-85]:IT创业成功老板的品质、创业失败老板的特征、成功领导者的品质、失败管理者的特征
  • 警惕.360勒索病毒,您需要知道的预防和恢复方法。
  • 人力资源小程序
  • 【多线程 - 10、线程同步3 ThreadLocal】
  • 【Flink 问题集】The generic type parameters of ‘Collector‘ are missing
  • 数据分析—将txt文件转为csv文件;将csv文件转为xls文件
  • 【算法】二分查找-20231120
  • WPF实现将鼠标悬浮在按钮上时弹出菜单
  • 车载以太网-传输层-UDP
  • uniapp如何上传文件,使用API是什么
  • 【狂神说Java】Docker概述 | Docker安装 | Docker的常用命令
  • Git精讲
  • 读书笔记:Effective C++ 3.0版2005年Scott Meyers : 55条建议(47-55)
  • Golang Context 的并发安全性探究
  • C++中只能有一个实例的单例类
  • 单张图像3D重建:原理与PyTorch实现
  • 340条样本就能让GPT-4崩溃,输出有害内容高达95%?OpenAI的安全防护措施再次失效
  • 2023.11.17使用flask将多个图片文件上传至服务器
  • 母婴服务预约小程序的效果如何
  • Flask实现cookie 开发
  • 2311rust,到60版本更新
  • 【开源】基于Vue和SpringBoot的微信小程序的音乐平台
  • adb手机调试常用命令
  • IDEA常用插件合集
  • 【算法】滑动窗口题单——2.不定长滑动窗口(求最长/最大)
  • 电子学会C/C++编程等级考试2022年03月(一级)真题解析
  • Libvirt-Qemu-Kvm 操作手记
  • 代码随想录算法训练营第二十八天| 78 子集 90 子集|| 93 复原IP地址
  • 9 HDFS架构剖析
  • Python中的迭代器、生成器和装饰器