首页 > 其他分享 >Jmeter——循环控制器中实现Counter计数器的次数重置

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

时间:2022-12-30 09:57:31浏览次数:63  
标签:__ Counter 实现 重置 所示 循环 for3 Jmeter

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

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

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

图中的数字说明:${for1}${for2}${for3}

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

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

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

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

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

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

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

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

图中的数字说明:${for1}${for2}${for3}_${resetForNumber}

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

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

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

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

标签:__,Counter,实现,重置,所示,循环,for3,Jmeter
From: https://www.cnblogs.com/hong-fithing/p/17011086.html

相关文章

  • Centos7重置root密码
    如果忘记root密码,可以按以下步骤进行密码重置第一步在启动页面选择内核版本页面,按e进入编辑模式:  拉到后面,将ro改为rw,在这行后面加上init=/bin/sh    按ct......
  • jmeter中响应结果Unicode转换为中文
    使用jmeter做接口测试的时候,遇到返回的中文显示的是Unicode格式,如下图可使用转换工具进行转换把Unicode输入到转换工具,点击Unicode转中文实际做接口测试过程中不......
  • 接口测试--jmeter
    ......
  • JMeter
    ApacheJMeter—压力测试工具一.什么是ApacheJMeterApacheJMeter是Apache组织基于Java开发的压力测试工具,用于对软件做压力测试。JMeter最初被设计用于Web应用测......
  • JMeter压力测试总结
    ​​Apache​​​ ​​JMeter​​​是​​Apache​​​组织开发的基于Java的压力测试工具。用于对软件做压力测试,相比其他HTTP测试工具,JMeter最主要的特点在于扩展性强。J......
  • linux-centos7如何重置root管理员密码
    先决条件先查看是否是RHEL7系统cat/etc/redhat-releaseRedHatEnterpriseLinuxServerrelease7.0(Maipo)操作步骤#重启系统reboot#引导界面,按“e”进入内......
  • Python中的Counter
    Counter的用处提供一种简洁的计数方法。Counter的ImportfromcollectionsimportCounterCollections是一个集成了List、Dict、Purple、Set的拓展和替代品的模块。......
  • JMeter入门学习
    一、什么是JMeter        ApacheJMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域......
  • Linux系统重置root密码
    1、首先,启动系统,进入开机界面,按“e”进入内核编辑界面,在“Linux16”开头这行的最后面输入init=/bin/sh或rd.break,按win+x运行修改的内核程序,进入紧急救援模式(单用户模式)。2......
  • jmeter系列01-->mac系统搭建JDK及JMETER
     前言此刻打盹,你将做梦;而此刻学习,你将圆梦。时代在进步,我们IT届的测试工程师大部分都用上了MAC电脑,在MAC上如何搭建JMETER呢,我来分享分享。一、环境和所需软件概述1......