JMeter—逻辑控制器

JMeter逻辑控制器

JMeter逻辑控制器可以对元件的执行逻辑进行控制,除仅一次控制器外,其他可以嵌套别的种类的逻辑控制器 

一、ForEach控制器

定义一个循环规则,关键参数说明:
输入变量前缀:可以在“用户自定义的变量”中定义一组变量,控制器可以从中获取到变量对应的值,然后作为循环控制器的循环条件,还可以输出变量作为取样器的参数
Start index for loop:循环变量下标起点
End index for loop:循环变量下标终点
输出变量名称:循环控制器生成的变量名称
Add “_”before number?:变量前缀是否加“_”作为分隔符

实现步骤如下:
1、新建一个线程组,然后新建一个http请求,访问http://jmeter.apache.org/demos/,Meter官网提供的脚本

    2、使用正则表达是提取步骤1访问页面中的所有链接

 3、添加一个ForEach 控制器,添加参数,start和end index for loop参数可以不填,不填就默认执行变量列表中的所有元素 

    4、在ForEach 控制器中添加http请求,访问由ForEach控制器传递的参数  

 

 5、在http请求下添加监控器-察看结果树。执行脚本,结果如下  


二、简单控制器

用来制定了一个执行单元,他不改变元件的执行顺序,在他下面还可以嵌套其他控制器。简单控制器的属性只有名称和注释

三、Include Controller
用来导入外部的测试片段(非完整的测试计划),在执行时会执行导入的测试计划。但是被导入的测试计划有特殊要求,它不能有线程组,只能包含简单控制器及控制器下的元件。简单的说就是相当于家了一个执行单元,一个封装了的业务操作单元,类似我们程序开发中的函数一样。
文件名参数:必填项,如果没有会报错


四、Runtime Controller
用来控制其子元件的执行时长,单位为秒
Runtime(seconds):默认为1,去掉1则默认为0,此时不执行其节点下的元件


五、Switch Controller
类似于高级语言中的Switch逻辑控制语句。
Switch Value:匹配值,可以为数字,也可以为字符。为字符时匹配取样器名称,如果匹配不上就会默认并找取样器名称为default的取样器,如果没有则不运行。如果为数字则从switch控制器下的第一个取样器为0,第二个为1依次算起


六、While Controller
While条件控制器,其节点下的元件将一直运行知道While条件为false
Condition:接受变量表达式与变量。如图当inputUrl=7时,则inputUrl小于7的会一直运行


七、交替控制器
  节点下的取样器交替执行。
  Ignore sub-controller blocks:忽略子控制器,即子控制器失效,由交替控制器接管

八、仅一次控制器
控制器下的子元件只运行一次,即使将仅一次控制器放在循环控制器下面,也只运行一次


九、吞吐量控制器
用来控制其下元件的执行次数,并无控制吞吐量的功能。想要控制吞吐量可以使用Constant Throughput Timer
Percent Executions:按执行次数的百分比来计算执行次数,此时Throughput取值是0~100。Per User是否勾选对percent executions模式无影响
Per User:如果选择则按虚拟用户数来计算执行次数。如果不选择则默认执行所有的虚拟用户
Total Executions:按Througput的值来制定执行次数,小于0则不执行


十、如果(if)控制器
通过条件判断来控制节点下的元件是否执行
Condition:判断条件,勾选Interpret Condition as Variable Expression?时condtion使用变量表达式来设置条件
Evaluate for all children:判断条件是否针对所有的字节的,只在if controller的入口处判断一次


十一、模块控制器
可以通过模块控制器在当前测试计划中引入新的测试片段(也叫脚本片段,由控制器、取样器及辅助元件构成,鞥能够完成负载的模拟)。模拟控制器也可以引入当前测试计划中的控制器
Module To Run:下来列表,列出了测试计划及工作台包含的控制器,在此选择引入哪一个脚本片段


十二、随机控制器
节点下的元件随机执行


十三、随机顺序执行控制器
节点下的元件随机执行,但是每个元件只执行一次


十四、循环控制器
控制节点下的元件执行次数。时间节点下的执行次数为线程组设置的循环次数乘循环控制器的次数
循环次数:要么设置永远,要么填写具体的次数,只能选择一个


十五、录制控制器
录制时候用的


十六、事务控制器
事务响应时间是我们衡量业务性能的主要指标,事务控制器可以把其他节点下的取样器执行消耗时间累加在一起,便于统计。同时对每一个取样器的执行时间进行统计。
如果事务控制器下的取样器有多个,只有当所有的取样器都运行成功,整个事务控制器定义的事物才算成功
generate parent sample:选择是否生成一个父取样器
include duration of timer and pre-post processors in generated samle:是否包含定时器,选择将在取样器前与后加上延时

 

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/733010.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

读书笔记:《思考 . 快与慢》- 3 过度自信与决策错误

《思考 . 快与慢》 [美] 丹尼尔 . 卡尼曼 著 胡晓姣 李爱民 何梦莹 译 这本书会改变你的思考方式 叙事谬误,用来描述有缺憾的往事是如何影响我们的世界观和我们对未来的预期的 能够吸引人们眼球的那些说法往往很通俗易懂,具体而不抽象 人类常会…

蓝桥杯刷题(二)

参考大佬代码:(区间合并二分) import os import sysn, L map(int, input().split()) # 输入n,len arr [list(map(int, input().split())) for _ in range(n)] # 输入Li,Si def check(Ti, arr, L)->bool:sec [] # 存入已打开的阀门在…

Golang中defer与return的执行顺序——不易混淆

前言 defer和return是常用的一个点,面试高频,也是实战容易踩坑。先前对他进行过一次学习,理解起来略拗口,但好歹也算是学会了。昨天面IEG时候被面试官拷打,并给出了一些提示,让我对个知识点有了新的认识&a…

JDK17镜像制作

背景 获取JDK17 wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz 解压JDK tar -zxvf jdk-17_linux-x64_bin.tar.gz 制作JRE 由于jdk的体积比较大,可以使用jre来作为运行环境,jdk1.8及以前版本,自带jre&#…

JVM-1

目录 1.基础知识 1.栈 2.本地方法栈 3.程序计数器 4.堆 5.方法区 6.JVM内存可见性 2.虚拟机类加载机制 1.加载 2.验证 3.准备 4.解析 5.初始化 6.使用 7.卸载 1.基础知识 JVM内存模型(5种):栈,本地方法栈&#xff…

深入了解XSS攻击:原理、防御与应对策略

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

OKLink2月安全月报| 2起典型漏洞攻击案例分析

在本月初我们发布的2024年2月安全月报中提到,2月全网累计造成损失约1.03亿美元。其中钓鱼诈骗事件损失占比11.76%。 OKLink提醒大家,在参与Web3项目时,应当仔细调研项目的真实性、可靠性,提升对钓鱼网站和风险项目的甄别能力&…

2024年人工智能发展路线图

2024年人工智能发展路线图 2024年,人工智能将迎来重大发展。从全新模型、资金注入到技术进步,发展速度之快让人难以跟上。本文概述了2024年可能定义AI发展的关键事件、产品发布、研究突破和趋势。 Q1 2024 Gemini Ultra发布:谷歌预计将发布…

set系列集合

set系列集合 无序:存取顺序不一致 不重复:可以去除重复 无索引:没有带索引的方法,所以不能使用普通的for循环,也不能通过索引来获取元素 set集合的实现类 HashSet:无序、不重复、无索引 LinkedHashSet:有序、不重…

PyQt5开发基础知识【一】

零.前言: 作者写这篇博客的目的主要在于巩固PyQt5的基础知识,例如PyQt5的几个核心模块,分别有什么功能,PyQt5的所有控件的使用方法等。 一.PyQt5的常见模块 1.1QtCore: 该模块包含了非GUI的功能设计。 这个模块被…

python绘制水果价格与利润表图1-3

input输入 (默认输入: 苹果🍎 橘子🍊 梨子🍐 葡萄🍇空一行空值表示结束输入input添加 1. 添加 2. 删除 序号和文字都可以,要空格或者空行 可以点对点输入数据深色主题 mpl_style(darkTrue)# 折线…

PyQt5实现远程更新exe可执行文件

PyQt5实现远程下载更新exe可执行文件 1、实现流程 1、获取远程http地址 2、获取需要更新的exe文件 3、点击更新 4、把exe强关闭 5、下载文件 6、更新2、效果图 3、示例代码 conf.ini配置文件: {"http_address_edit_value": "http://xxx.com/xxx/xxx.exe&qu…

【Go】令牌桶限流算法

1. 限流 限流,顾名思义,限制用户请求流量,避免大规模并发导致系统宕机。 2. 令牌桶算法 令牌管理员以恒定的速率向令牌桶里放置一个令牌。如果桶满,就丢弃令牌。 请求到达时,都要先去令牌桶里取一个令牌&#xff0c…

如何进入Windows 11的安全模式?这里提供详细步骤

序言 如果你在启动Windows 11 PC时遇到问题,则重新启动到安全模式可能会有所帮助,该模式会暂时禁用驱动程序和功能,以使你的PC更稳定。下面是如何做到这一点。 在Windows 7和更早版本中,通常可以在打开电脑后按功能键(如F8)启动安全模式。Microsoft从Windows 8中删除了…

C++内存管理篇

文章目录 1. C/C内存分布2. C中的内存管理方式3. operator new和operator delete函数4. new和delete的实现原理5. 定位new表达式(placement-new) 1. C/C内存分布 C语言中,为了方便管理内存空间,将内存分成了不同的区域,每个区域管理不同的数据…

Linux下CAN调试工具can-utils的使用

文章目录 candumpcansendcanbusload can-utils提供了一系列实用的命令行工具,可以方便的调试CAN总线数据。这里主要记录各个工具的用法 candump: 用于查看CAN数据cansend: 用于发送数据到CAN总线canbusload: 用于查看CAN总线使用率 candump 命令行中输入candump然后回车可以…

构建智能IoT系统的步骤

目录 一、需求分析 二、设备选择与部署 三、架构设计 四、边缘节点的配置 五、数据处理与分析 六、安全措施 七、测试与优化 总结 构建一个智能IoT系统需要经过一系列精心规划和执行的步骤,以确保系统的稳定性、可靠性和高效性。下面将详细介绍构建智能IoT系…

【数据分享】2013-2022年全国范围逐月CO栅格数据(免费获取)

空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000-2022年全国范围逐月的PM2.5栅格数据和2013-2022年全国范围逐月SO2栅格数据(可查看之前的文章获悉详情)。 本次我们给大家带来的是2013-2022年全国范围的逐月的CO栅格…

【微信小程序】基本语法

目录 一、列表渲染&#xff08;包括wx:for改变默认&#xff09; 二、事件冒泡和事件捕获 三、生命周期 一、列表渲染&#xff08;包括wx:for改变默认&#xff09; 1、列表渲染(wx-for、block 改变默认wx:for item等) <view> {{msg}} </view> //渲染跟普通vu…

jupyter notebook 调整深色背景与单元格宽度与自动换行

# 安装jupyter主题 pip install jupyterthemes # 列举主题 jt -l # 设置主题 jt -t chesterish设置宽度 打开users 当前用户目录下的custom.css文件 写入.container { width:80% !important; } 即可 设置自动换行 查找创建这个目录以及文件notebook.json 写入配置 “li…