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

JMeter 配置元件之计数器Counter

配置元件之计数器Counter

 

by:授客 QQ1033553122

测试环境

apache-jmeter-2.13

 

1.   计数器简介

允许用户创建一个在线程组范围之内都可以被引用的计数器。

 

2.   添加计数器

右键线程组->添加->配置元件->计数器

 

 

 

3.   控制面板介绍

添加后,面板如下

 

 


 

启动(Start) - 给定计数器的起始值、初始值,第一次迭代时,会把该值赋给计数器

递增(Increment) - 每次迭代后,给计数器增加的值

最大值(Maximum) - 计数器的最大值,如果超过最大值,重新设置为初始值(Start).2.2版本之后,默认的最大值为Long.MAX_VALUE,2^63-1,之前为0

Number format -可选格式,比如000,格式化为001002。默认格式为Long.toString(),但是默认格式下,似乎还是可以当作数字使用

引用名称(Reference Name) - 用于控制在其它元素中引用该值,形式:$(reference_name}

与每用户独立的跟踪计数器(Track Counter Independently for each User) - 换言之,这个是全局的计数器,还是说每个用户拥有自己的计数器。如果不勾选,即全局的,比如用户#1 获取值为1,用户#2获取值为2,如果是独立的,即不勾选,每个用户有自己的值,比如用户#1 获取值为1,用户#2获取值还是为1(实际测试中发现,改选项的设置似乎不起作用)

Reset counter on each Thread Group Iteration - 可选,仅勾选与每用户独立的跟踪计数器时可用,如果勾选了,每次线程组迭代,都会重置计数器的值。当线程组是在一个循环控制器内时比较有用。

 

4.   示例

示例1,单线程,执行一次

 

 

JMeter <wbr>配置元件之计数器Counter

 JMeter <wbr>配置元件之计数器Counter

 

 

注意:

1、从上面的结果来看,我们可以知道,对于While循环(其它循环估计也一样,未测试),迭代器的值,每次都是进入下一次循环后才增加的,而不是进入之前增加的,所以,当我设置while循环条件为counter的值小于5才进入循环,但是发现等于counter值为5的时候依旧有个http请求。

2、如上,当“用户定义的变量”和计数器“引用名称”同名时(假设都为counter),While循环(其它循环估计也一样,未测试)内,sample引用变量${counter},取的是计数器中设置的初始值,这点可以通过把修改计数器的初始值和用户定义的变量的初始值不一样来验证。注意,这里说的是while循环内部才这样。

3、上述结构中为何要在while循环之前定义一个和计数器引用名称同名的变量?那是因为首次运行while循环时(未进入之前),还没执行计数器,此时${counter}是取不到值的,这时会报类似如下错误:

org.mozilla.javascript.EvaluatorException:missing ; before statement

 

 

转载于:https://www.cnblogs.com/shouke/p/10157684.html

相关文章:

  • signalr-源码
  • iOS开发之内购-AppStore
  • matplotlib —— 添加文本信息(text)
  • linux下压缩包的解压
  • [Java][Liferay] File system in liferay
  • 用for、while、do-while循环输出10句“好好学习,天天向上!”
  • 常见标签的全称
  • 【EntityFramework Core】实体实例化注入
  • apiCloud中的API对象
  • 静态链接
  • 多大开始玩EV3
  • HTTP/2探索第一篇——概念
  • Atitit 图像清晰度 模糊度 检测 识别 评价算法 源码实现attilax总结
  • (BFS)hdoj2377-Bus Pass
  • 最少交换次数
  • 【Leetcode】101. 对称二叉树
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【RocksDB】TransactionDB源码分析
  • ➹使用webpack配置多页面应用(MPA)
  • Bootstrap JS插件Alert源码分析
  • github指令
  • java8-模拟hadoop
  • Java超时控制的实现
  • Js基础知识(一) - 变量
  • laravel5.5 视图共享数据
  • Mac转Windows的拯救指南
  • October CMS - 快速入门 9 Images And Galleries
  • PHP那些事儿
  • Python实现BT种子转化为磁力链接【实战】
  • Solarized Scheme
  • Travix是如何部署应用程序到Kubernetes上的
  • 从setTimeout-setInterval看JS线程
  • 和 || 运算
  • 基于组件的设计工作流与界面抽象
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 一些关于Rust在2019年的思考
  • 异步
  • 优化 Vue 项目编译文件大小
  • ​secrets --- 生成管理密码的安全随机数​
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • ###C语言程序设计-----C语言学习(6)#
  • #ubuntu# #git# repository git config --global --add safe.directory
  • $refs 、$nextTic、动态组件、name的使用
  • (39)STM32——FLASH闪存
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (二)斐波那契Fabonacci函数
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (一)Linux+Windows下安装ffmpeg
  • (转)Google的Objective-C编码规范
  • (转)h264中avc和flv数据的解析