JMeter—逻辑控制器

news2024/11/15 8:45:03

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:是否包含定时器,选择将在取样器前与后加上延时


 以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了

各位想获取资料的朋友请点赞 + 评论 + 收藏,三连!

三连之后我会在评论区挨个私信发给你们~

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

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

相关文章

10月TIOBE榜Java跌出前三!要不我转回C#吧

前言 Java又要完了,又要没了,你没看错,10月编程语言榜单出炉,Java跌出前三,并且即将被C#超越,很多资深人士预测只需两个月,Java就会跌出前五。 看到这样的文章,作为一名Java工程师我…

Cmake 3.27.5 发布,开源构建系统

导读CMake 是一个跨平台的自动化构建系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或 Windows Visual C 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也…

静电地桩的安装和使用说明

静电地桩的安装使用需要遵循以下步骤: 确定静电地桩的位置:静电地桩应该安装在需要消除静电的区域,如易燃易爆场所、电子厂、医院等。在安装前需要对地面进行清洁和处理,确保地面平整、干燥、无灰尘等杂物。 安装静电地桩&#xf…

FPM-FORM

FPM DEMO:FPM_OVP_COMPONENT FORM: IF_FPM_GUIBB_FORM TABLE LIST: IF_FPM_GUIBB_LIST TREE: IF_FPM_GUIBB_TREE SEARCH LIST: IF_FPM_GUIBB_SEARCH 需求:FPM启动时默认从EKPO去一条采购订单数据&#xff…

想要用Chat GPT写申请文书?先看各大名校招生官对它的态度是什么?

新的申请季已经正式开始,一些热门项目的ED截止日期也不再遥远,因此很多准留学生们都已经开始了关于文书的创作。 而随着科技的不断发展,以ChatGPT为首的一众AI工具也作为一种辅助手段愈发融入了我们的生活。 那么不免就会有一些同学在准备申…

提升后端API性能的几种解决方案

🔔目的 提升后端API性能的主要目的是为了提高系统整体的响应速度、并发能力以及可用性。主要原因包括: 提高用户体验 后端API性能好可以减少响应延迟,给用户流畅的体验。 提高系统吞吐量 优化API性能可以提高系统的整体吞吐量,处理更多用户请求。 节省服务器资源…

wps演示时图片任意位置拖动

wps演示时图片任意位置拖动 1.wps11.1版本,其他版本的宏插件可以自己下载。2.先确认自己的wps版本是不是11.13.检查是否有图像工具4.检查文件格式和安全5.开发工具--图像6.选中图像控件,右击选择查看代码,将原有代码删除,将下边代…

经典面试题第十更---instanceof与typeof

前言: 🤡 作者简介:我是Morning,计算机的打工人,想要翻身做主人 🙈 🙈 🙈 🏠 个人主页: Morning的主页 📕系列专栏: 前端…

「Qt中文教程指南」如何创建基于Qt Widget的应用程序(二)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 本文描述了如何使用…

计算机毕业设计选什么题目好?springboot 班级事务管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

JS里字符串全部替换

突然在需要处理一个字符串,使用了替换函数之后,发现只替换了第一个位置的字符串,如下结果: 就想要全部替换,可以这样处理: 使用 str.replace(/需要替换的字符串/g,"新字符串")或者使用replaceA…

CSP-J/S第二轮认证注意事项

金九银十日,复赛进行时。 CSP-J/S复赛马上就要开始了,但是每年都有很多孩子因为一些不起眼的失误导致一年的努力付之东流。下面为大家准备了一些复赛的注意事项,避免踩坑。 在哪里写代码 第二轮比赛与我们平时在OJ上做题形式不同&#xff0…

数据挖掘实战(3):如何对比特币走势进行预测?

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据…

案例(部门管理和员工管理)-(2)

一、新增员工 1.Controller层 PostMappingpublic Result save(RequestBody Emp emp){log.info ( "新增员工,emp:{}",emp );empService.save(emp);return Result.success ();}2.Service层 Overridepublic void save(Emp emp) {emp.setCreateTime ( LocalDateTime.now …

新手如何快速上手HTTP爬虫IP?

对于刚接触HTTP爬虫IP的新手来说,可能会感到有些困惑。但是,实际上HTTP爬虫IP并不复杂,只要掌握了基本的操作步骤,就可以轻松使用。本文将为新手们提供一个快速上手HTTP爬虫IP的入门指南,帮助您迅速了解HTTP爬虫IP的基…

mysql面试题36:MySQL的binlog有几种录入格式?分别有什么区别

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:MySQL的binlog有几种录入格式?分别有什么区别 MySQL的binlog(二进制日志)是用于记录数据库的更改操作的一种机制,它可以用于数据恢复、数据复…

linux安装filebeat并收集日志到elasticsearch

摘要: 通过filebeat收集服务器上各个应用的日志到elasticsearch,通过tags区分不同的应用创建不同的索引保存日志。 官网地址: https://www.elastic.co/cn/downloads/past-releases#filebeat 安装步骤: 1:下载并解…

【LeetCode高频SQL50题-基础版】打卡第5天:第26~30题

文章目录 【LeetCode高频SQL50题-基础版】打卡第5天:第26~30题⛅前言超过5名学生的课🔒题目🔑题解 求关注者的数量🔒题目🔑题解 只出现一次的最大数字🔒题目🔑题解 买下所有产品的客户&#x1f…

vue踩的坑:属性报undefined错误问题汇总

问题 在一个组件里&#xff0c;通过props传值进去对象&#xff0c;在控制台打印报错误信息&#xff0c;提示某属性不存在。 例如&#xff1a; <div>{{data.param.aaa}}</div> 类似这种的&#xff0c;取对象子级下面的值&#xff0c;就报了undefined。 原因应该…

机器学习(21)---召回率(recall)、精度(precision)和准确率(accuracy)

文章目录 1. 分布不平衡的数据集2. TP、TN 、FP 、FN3. 混淆矩阵4. 各自的计算公式5. 例题应用 1. 分布不平衡的数据集 1. 精度&#xff08;precision&#xff09;和召回率&#xff08;recall&#xff09;是衡量机器学习模型性能的重要指标&#xff0c;特别是数据集分布不平衡的…