jmeter常用配置元件介绍总结之逻辑控制器
系列文章目录
安装jmeter
jmeter常用配置元件介绍总结之逻辑控制器
- 逻辑控制器
- 1.IF控制器
- 2.事务控制器
- 3.循环控制器
- 4.While控制器
- 5.ForEach控制器
- 6.Include控制器
- 7.Runtime控制器
- 8.临界部分控制器
- 9.交替控制器
- 10.仅一次控制器
- 11.简单控制器
- 12.随机控制器
- 13.随机顺序控制器
- 14.吞吐重控制器
- 15.Switch控制器
- 16.模块控制器
逻辑控制器
1.IF控制器
功能:输入条件表达式,条件为真时,执行控制器里面的请求
参数说明:
- Expression:输入条件表达式,表达式的结果必须是true或者false;推荐使用_jexl3或_groovy来执行表达式
- Use status of last sample:点击后会自动插入一个表达式,用来判断上一节点的取样器成功还是失败;成功则执行控制器里面的请求
- Interpret Condition as Variable Expression:默认勾选的,勾选后条件解释为变量表达式,需要使用_jexl3或_groovy来执行表达式
- Evaluate for all children:勾选后控制器里面的每一个子元素运行前都会判断条件表达式是否为true
如图:提取第一个请求的响应消息,判断响应消息是否符合预期的值,符合则执行控制器中的请求


2.事务控制器
功能:生成一个额外的示例,合并统计示例下的所有测试元素所花费的总时间
参数说明
- Generate parent sample:勾选后,会把多个请求样本归类到事务控制器下,不勾选则是独立样本
- Include duration of timer and pre-post processors in generated sample:勾选后生成的样本讲包括计时器、前置后置处理器等参数的延迟时间
如图:



3.循环控制器
功能:会将循环控制器里面的所有请求循环指定次数
提示:加上
${__jm__控件名字__idx},如:${__jm__test__idx},可以查看循环的索引
如图演示:


如图:显示每次循环的索引

4.While控制器
功能:输入表达式,来控制,控制器里面的请求循环多少次
参数说明:
Condition (function or variable):输入表达式,控制循环的次数;推荐使用_jexl3或_groovy来执行表达式;内容为空白时会一直执行



5.ForEach控制器
功能:对值进行前缀匹配,然后循环遍历,可以让控制器里面的请求的内容,结合每次遍历的结果来执行
如:某个参数需要执行不同的内容,其余的参数保持不变,就可以先定义内容,然后每次迭代循环该字段的值都会改变
参数说明:
输入变量前缀:输入要变量的变量前缀,会根据前缀去匹配变量,只有符合前缀的变量才会被迭代
开始循环字段(不包含):可以理解为从第几个变量值开始迭代,不包含输入的值,应该实际迭代的值 = 输入的值 + 1
结束循环字段(含):迭代到第几个值结束,输入多少就对应第几个值结束
输出变量名称:参数化时的引用名
数字之前加上下划线:勾选后,遍历的变量名的前缀和数字之间必须要有_下划线
注意:
1.开始和结束字段的值一定要设置对,否则不会循环
2.遍历的变量名和输入的”输入变量前缀“有关联关系;变量名去掉输入的变量前缀剩余的字符串,必须是有序的整数数字或者下划线加有序数字;
如:输入变量前缀:test;则变量名必须是:test1,test2,…或者test_1,test_2…
如果是:testss;test01;test_01;等都是不会被迭代的
必须要有序数字,如:第一个变量是test1,第二个变量是test9;则只会迭代test1



6.Include控制器
功能:选择导入测试片段,能运行测试片段里面的脚本,重复利用已有的脚本不需要再次编写
注意:导入的测试片段不能有线程组
如图保存测试片段
如图演示:


7.Runtime控制器
功能:设置控制器下取样器运行时长,单位秒;比如:限时活动等有时间限制的场景可以使用


8.临界部分控制器
功能:设置同步所,确保同一时间每次只能有一个请求通过执行,适用于控制并发的场景;
可以理解为设置了一把锁,只有有锁的人才能通过,通过了就把锁释放掉,下一个占用到锁后才能通过
如图演示:我这里设置了5个线程数,控制器中的取样器设置了个延迟3秒的固定定时器,结果是每个请求的间隔都是3秒


9.交替控制器
功能:让控制器下面的请求、元素交替、轮流执行
参数说明
- 忽略子控制器块:勾选后,会忽略子控制器的功能,让子控制器里面的元素也交替执行
- Interleave across threads:勾选后,可跨线程交替,多个线程数的时候也会轮流交替请求
如图演示:设置了6个线程数,结果是每个线程交替的请求了不同的取样器


10.仅一次控制器
功能:控制器里面的取样器元素等,再多次循环中只会执行一次
适用场景:如有几个接口依赖于登录获取token,才能正常请求,此时登录接口就可仅执行一次用来提取token,后面的请求直接引用即可,避免重复多次请求登录接口
如图演示:设置了1个线程循环5次,结果是控制器下的请求只执行了1次


11.简单控制器
功能:没有实际的功能,作用是归纳分组元素,模块化封装让脚本结构更清晰

12.随机控制器
功能:控制器中的请求元素随机取一个执行,勾选,忽略子控制器块,会忽略子控制器的功能


13.随机顺序控制器
功能:控制器中每个请求元素都会被执行一次,但执行的顺序是随机的


14.吞吐重控制器
15.Switch控制器
功能:通过设置的Switch Value值来决定执行哪个请求
提示:有3种取值方式
1.输入节点位置顺序,从0开始;输入0会执行第一个取样器,1则执行第二个依次类推
2.直接输入取样器的名称:如”调试取样器-4“
3.value为空或者不存在时,默认执行第一个


16.模块控制器
功能:主要是为了方便测试代码、以及维护,
可以选中里面的测试片段,运行指定片段

相关文章:
jmeter常用配置元件介绍总结之逻辑控制器
系列文章目录 安装jmeter jmeter常用配置元件介绍总结之逻辑控制器 逻辑控制器1.IF控制器2.事务控制器3.循环控制器4.While控制器5.ForEach控制器6.Include控制器7.Runtime控制器8.临界部分控制器9.交替控制器10.仅一次控制器11.简单控制器12.随机控制器13.随机顺序控制器14.吞…...
解决Windows远程桌面 “为安全考虑,已锁定该用户账户,原因是登录尝试或密码更改尝试过多。请稍后片刻再重试,或与系统管理员或技术支持联系“问题
当我们远程连接服务器连接不上并提示“为安全考虑,已锁定该用户账户,原因是登录尝试或密码更改尝试过多。请稍候片刻再重试,或与系统管理员或技术支持联系”时,根本原因是当前计算机远程连接时输入了过多的错误密码,触…...
中文书籍对《人月神话》的引用(161-210本):微软的秘密
中文书籍对《人月神话》的引用(第001到160本)>> 《人月神话》于1975年出版,1995年出二十周年版。自出版以来,该书被大量的书籍和文章引用,直到现在热潮不退。 2023年,清华大学出版社推出《人月神话》…...
关于写React的一些反思和总结
这两个星期我都一直在写IT资产管理这个模块。关于这个模块,前端和后端都是我来处理,对于后端,我碰到了很多问题,但是很多问题都可以在比较短的时间内解决,而且不会说完全没有头绪的那种,这一方面源于我本身…...
Qt 每日面试题 -10
91、Qt设计界面有哪些方式? 手工编写创建界面的代码︰此方法比较复杂,不够直观;使用Qt Designer界面编辑器设计︰可直接拖放控件、设置控件的属性,简单、直观、易于操作;动态加载Ul文件并生成界面︰(QUiLoader类加载xx.ui)此方法很灵活,当需…...
三正科技笔试题
(15题,45分钟,闭卷) 一、( 8 分 )请问以下程序输出什么结果? char *getStr(void) 。 { char p[] "hellow world"; return p; } void test(void) { ch…...
Selective attention improves transformer详细解读
Selective attention improves transformer Google 2024.10.3 一句话:简单且无需额外参数的选择性注意力机制,通过选择性忽略不相关信息并进行上下文剪枝,在不增加计算复杂度的情况下显著提升了Transformer模型的语言建模性能和推理效率。 论…...
git配置用户信息
在 Git 中配置用户信息,主要是设置你的用户名和电子邮件地址,这些信息会被 Git 用来记录提交的作者信息。以下是配置用户信息的步骤: 打开命令行工具。 设置你的用户名: git config --global user.name "你的名字"例如…...
【eNSP】路由基础与路由来源——静态路由实验
路由是数据包从源地址到目的地址的传输路径,静态路由是指网络管理员手动配置的路由条目,用于指定数据包从源地址到目的地址的固定路径。以下是关于静态路由的详细介绍。 一、路由的基础知识点 路由的定义: 路由是指在计算机网络中ÿ…...
Python Web 应用开发基础知识
Python Web 应用开发基础知识 引言 随着互联网的快速发展,Web 应用程序的需求日益增加。Python 作为一种简单易学且功能强大的编程语言,已经成为 Web 开发中广受欢迎的选择之一。本文将深入探讨 Python Web 开发的基础知识,包括常用框架、基…...
STM32 标准库函数 GPIO_SetBits、GPIO_ResetBits、GPIO_WriteBit、GPIO_Write 区别
GPIO_SetBits: 使用例: GPIO_SetBits(GPIOA, GPIO_Pin_1 | GPIO_Pin_2);意思是将GPIOA1和GPIOA2设为高电平 GPIO_SetBits(GPIOA, 0x0003);意思也是将GPIOA1和GPIOA2设为高电平 实际上当选中GPIOA时,它会按位遍历,在哪一位有1说…...
【Redis_Day4】内部编码和单线程模型
【Redis_Day4】内部编码和单线程模型 五大数据类型内部编码object encoding key1:查询key1对应值的内部编码 redis中的单线程模型 redis中的数据都是以键值对的方式存的,redis内部用哈希表组织这些键值对。 五大数据类型 站在用户角度, 在一…...
Vue模块化开发的理解
Vue模块化是指在Vue.js开发中,将代码按功能拆分成多个独立的模块,以提高代码的可维护性、可读性和复用性。以下是对Vue模块化的详细理解: 一、Vue模块化的实现方式 组件化开发: Vue组件是模块化的基本单元,每个组件封…...
在Ubuntu22.04上源码构建ROS noetic环境
Ubuntu22.04上源码构建ROS noetic 起因准备环境创建工作目录并下载源码安装编译依赖包安装ros_comm和rosconsole包的两个补丁并修改pluginlib包的CMakeLists的编译器版本编译安装ROS noetic和ros_test验证 起因 最近在研究VINS-Mono从ROS移植到ROS2,发现在编写feat…...
算法--解决二叉树遍历问题
第一 实现树的结构 class Node(): # 构造函数,初始化节点对象,包含数据和左右子节点 def __init__(self, dataNone): self.data data # 节点存储的数据 self.left None # 左子节点,默认为None self.rig…...
[刷题]入门1.矩阵转置
博客主页:算法歌者本篇专栏:[刷题]您的支持,是我的创作动力。 文章目录 1、题目2、基础3、思路4、结果 1、题目 链接:洛谷-B2106-矩阵转置 2、基础 此题目主要考察二维数组的掌控能力。 3、思路 观察,可知&#…...
Flutter开发之flutter_local_notifications
flutter_local_notifications 消息通知 flutter_local_notifications地址 flutter_local_notifications: ^18.0.1class NotificationHelper {//工厂模式调用该类时,默认调用此方法,将实例对象返回出去static NotificationHelper? _instance null;sta…...
Gradle和maven
大家好,我是风筝 作为Java 开发者,你平时用 Maven 还是 Gradle? 我一直用的都是 Maven,但是前几天做了一个小项目,用的是 Gradle,因为项目创建出来默认就是用的 Gradle,而且功能足够简单&#x…...
RabbitMQ教程:发布/订阅模式(Publish/Subscribe)(三)
文章目录 RabbitMQ教程:发布/订阅模式(Publish/Subscribe)(三)一、引言二、简介三、准备工作3.1 说明3.2 生成项目 四、实战4.1 交换机(Exchanges)4.2 临时队列(Temporary Queues&am…...
服务器被挂马怎么办?——解决服务器被挂马的方法和步骤
服务器被挂马(即被植入恶意软件)是一个常见的网络安全问题,可能导致数据泄露、服务中断和经济损失。本文将详细介绍如何检测和清除服务器上的恶意软件,并提供实用的代码示例,帮助读者解决服务器被挂马的问题。 一、什…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

