【性能测试】11_JMeter _JMeter逻辑控制器

文章目录

  • 一、逻辑控制器
    • 1.1 常用的逻辑控制器
  • 二、If控制器
    • 2.1 案例
    • 2.2 操作步骤
  • 三、循环控制器
    • 3.1 案例
    • 3.2 操作步骤
    • 3.3 思考
    • 3.4 仅一次控制器
  • 四、事务控制器
  • 五、ForEach控制器
    • 5.1 场景
    • 5.2 操作步骤
    • 5.3 进阶案例(与正则配合使用)
  • 六、总结

一、逻辑控制器

逻辑控制器可以按照设定的逻辑控制取样器的执行顺序。

作用:通过判断,执行分支、或者循环,改变脚本执行流程

1.1 常用的逻辑控制器

  • 如果(If) 控制器——分支
  • 循环控制器——for循环
  • ForEach控制器——for xxx in
  • 事务控制器

二、If控制器

If控制器用来控制它下面的测试元素是否运行。

添加方式: 测试计划 --> 线程组–> (右键添加) 逻辑控制器 --> 如果(If) 控制器

2.1 案例

需求:使用“用户定义的变量”定义一个变量name, name的值可以是‘baidu’或‘itcast’,根据name的变量值实现对应网站的访问。

www.baidu.com www.itcast.com

2.2 操作步骤

1、测试计划中有“用户定义的变量”—>添加 线程组

2、添加If控制器, 判断name是否等于 —> 添加HTTP请求, 用来访问itcast

3、添加If控制器, 判断name是否等于baidu —>添加HTTP请求, 用来访问百度.

4、添加查看结果树

三、循环控制器

通过设置循环次数, 来实现循环发送请求。

添加方式: 测试计划 --> 线程组–> (右键添加) 逻辑控制器 --> 循环控制器

3.1 案例

需求:循环访问百度10次

3.2 操作步骤

1、添加线程组

2、添加循环控制器—>添加HTTP请求

3、添加查看结果树

3.3 思考

1、线程组属性可以控制循环次数, 那么循环控制器有什么用?

线程组属性控制组内所有取样器的执行次数, 而循环控制器可以控制组内部分取样器的循环次数, 后者控制精度更高

2、循环控制器与线程组中的循环次数的对比 :

  • 循环控制器只控制其子节点下的HTTP请求,线程组对所有的请求都有效。
  • 假如线程组循环次数为2,循环控制器次数为3,则循环控制器下的请求执行次数为:2*3

3.4 仅一次控制器

仅一次控制器 不受 当前线程组循环控制次数影响。

四、事务控制器

  • 事务对应一个系统中的业务。因此,一个事务中可以有一个请求,也可以包含多个请求。

  • 当需要将多个请求,当成一个业务看待时,需要事务控制器。如:下单业务—登录、搜索、下单、支付。

  • 但是在多数测试中,一般一个请求对应一个业务。

五、ForEach控制器

  • ForEach控制器一般和用户自定义变量或者正则表达式提取器一起使用, 其在用户自定义变量或者从正则表达式提取器的返回结果中读取一系列相关的变量。 该控制器下的取样器都会被执行一次或多次, 每次读取不同的变量值。
  • 添加方式: 测试计划 --> 线程组–> (右键添加) 逻辑控制器 --> ForEach控制器

5.1 场景

需求:有一组关键字 [hello,python,测试], 使用用户定义的变量存储它们,要依次取出关键字,交给百度搜索,

例如: https://www.baidu.com/s?wd=hello

应用场景:需要对一组数据中的每个变量遍历提取时,可以使用在ForEach控制器。

5.2 操作步骤

1、测试计划 --> 线程组–> (右键添加) 配置元件 --> 用户定义的变量。(参数名:固定前缀 + 连续的数字后缀 )

2、添加 ForEach控制器,并配置参数

3、在ForEach控制器下方添加HTTP请求,并引用ForEach读取的数据${kw}

4、添加查看结果树

5.3 进阶案例(与正则配合使用)

需求:访问首页http://www.itcast.cn, 获取各校区名,并依次取出交给baidu做关键字搜索。

例如: https://www.baidu.com/s?wd=地址1

1、添加HTTP请求-itcast

2、在HTTP请求下,添加正则表达式提取器,提取出itcast响应中所有的地址相关的数据,并保存为参数school(列表数据)

3、添加ForEach控制器,循环提取school 列表中的每一个校区信息。

4、在ForEach控制器下添加一个HTTP请求-百度,引用ForEach控制器中定义的变量${city},作为参数。

5、添加查看结果树。

六、总结

HTTP请求 都是 放在逻辑控制器的子级上。

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

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

相关文章

提示工程架构师如何用“社群”做技术调研?2个方法帮你快速获取需求

提示工程架构师的社群调研指南:2个核心方法快速挖掘真实需求 副标题:用社群破解“需求模糊”难题,让提示工程更贴近业务场景 摘要/引言 作为提示工程架构师,你是否遇到过这样的困境? 产品经理说“要让AI更懂用户”,但说不清“懂”的具体标准; 开发的提示模板上线后,…

SSM学生信息管理系统ow05a(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面

系统程序文件列表系统项目功能:学生,班级信息,教师,课程分类,课程信息,学生选课,课程成绩,通知公告,课程签到,学生请假,专业信息SSM学生信息管理系统开题报告一、课题研究背景与意义(一)研究背景在高校教育管理工作中,学生信息管理…

学长亲荐10个一键生成论文工具,专科生毕业论文轻松搞定!

学长亲荐10个一键生成论文工具,专科生毕业论文轻松搞定! AI 工具正在重塑论文写作的未来 随着人工智能技术的不断进步,越来越多的专科生开始借助 AI 工具来辅助自己的毕业论文写作。这些工具不仅能够显著降低 AIGC(人工智能生成内…

CSGHub vs HuggingFace:企业 AI 选型关键抉择,数据主权与开源创新如何两全?

在全球开源 AI 浪潮下,企业面临一个核心抉择:是拥抱 HuggingFace 的开放生态,还是坚守数据安全与自主可控的底线?作为 OpenCSG 自研的企业级 AI 资产管理平台,CSGHub 精准切入这一矛盾点,以 “兼容开源标准…

计算机毕业设计springboot疫情期间高校员工管理系统 基于Springboot框架的高校教职工疫情管理信息化系统 疫情防控期间高校人员管理系统的Springboot实现

计算机毕业设计springboot疫情期间高校员工管理系统vp5d4 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着互联网技术的飞速发展,高校的管理方式也在不断革新。尤…

【心率检测】基于加速度计的呼吸速率和心率检测Matlab仿真和报告

✅作者简介:热爱数据处理、建模、算法设计的Matlab仿真开发者。🍎更多Matlab代码及仿真咨询内容点击 🔗:Matlab科研工作室🍊个人信条:格物致知。🔥 内容介绍基于三维加速度信号(SCG …

把采集系统装进容器之后,我们到底引入了什么风险

在很多团队的认知里,容器化意味着更高的稳定性与可控性。 统一的运行环境、标准化部署、快速扩缩容,看起来都指向一个结论:采集系统会更可靠。 但在真实业务中,我们反复遇到相反的情况: 容器化完成后,请求成…

SSM学生选课系统xvbna(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面

系统程序文件列表 系统项目功能:学生,教师,课程信息,选课申请,选课记录,公告信息,取消课程 SSM学生选课系统开题报告 一、课题研究背景与意义 (一)研究背景 在高校教学管理工作中,学生选课是连接教学资源与学生需求的关键环节。…

【结构优化】基于平衡进化人工蜂群BE-ABC算法求解蛋白质结构优化附matlab代码

✅作者简介:热爱数据处理、建模、算法设计的Matlab仿真开发者。🍎更多Matlab代码及仿真咨询内容点击 🔗:Matlab科研工作室🍊个人信条:格物致知。🔥 内容介绍蛋白质结构预测是计算分子生物学领域…

Java实现多Cron定时任务调度

public class MultiCronMain {public static void main(String[] args) throws SchedulerException {// 2. 调度多个 cron 表达式Scheduler scheduler StdSchedulerFactory.getDefaultScheduler();scheduler.start();// 创建 JobDetail(只创建一次)JobD…

1.19。

今日收获:1.单词1002.算法1题——回溯今天学的少打算明天过完jvm调优和双亲委派

工业级边缘计算网关的热设计与可靠性保障:以ARM架构为例

摘要: 在工业物联网(IIoT)场景中,储能柜等封闭空间对网关的耐温性提出了严苛要求。本文将剥离商业营销,从纯技术维度探讨基于ARM架构的工业级边缘计算网关的热设计挑战。重点分析无风扇散热结构、宽温级晶振/电容的选型…

Notation 英文单词学习

1️、基本信息单词:notation词性:名词发音: 🇺🇸 /noʊˈteɪ.ʃən/🇬🇧 /nəʊˈteɪ.ʃən/词源: 来自拉丁语 notatio(标记、符号) → notation 符号 / 标…

CPU 中的算术逻辑单元(ALU)的 状态标志

CPU 中的算术逻辑单元(ALU)的 状态标志 理解ALU状态标志不仅是理解CPU如何工作的核心,也是掌握汇编语言编程和计算机底层逻辑的关键。 本文将从概念、每个标志的解析、到实际应用和架构差异,层层递进。核心概念回顾 状态标志是CPU…

POF|西工大廖晖、刘溢浪等:数据驱动的湍流建模:基于符号回归与数据同化的双向耦合框架

Data-Driven Turbulence Modeling: A Mutually Coupled Framework for Symbolic Regression and Data Assimilation 数据驱动的湍流建模:基于符号回归与数据同化的双向耦合框架 廖晖,孙旭翔, 刘溢浪*, 张伟伟 西北工业大学 航空学院, 西安…

流量困局下的破局之道:“推三返一”模式开启私域增长新引擎

在当下流量成本不断攀升、用户增长愈发艰难的商业大环境中,企业面临着巨大的经营压力,如何在低成本的前提下实现高转化,成为了众多企业亟待解决的关键问题。“推三返一”模式凭借其独特的“消费即投资、分享即收益”裂变逻辑,正逐…

外文文献检索网站使用指南与资源获取方法

做科研的第一道坎,往往不是做实验,也不是写论文,而是——找文献。 很多新手科研小白会陷入一个怪圈:在知网、Google Scholar 上不断换关键词,结果要么信息过载,要么完全抓不到重点。今天分享几个长期使用的…

C++(C++17/20)最佳工厂写法和SLAM应用综合示例

现代 C&#xff08;C17/20&#xff09;下的最佳工厂写法一、现代 C 工厂设计的基本原则 在 C17/20 下&#xff0c;好的工厂写法通常满足&#xff1a;RAII 明确所有权 返回 std::unique_ptr<T> 为默认无 switch / 无 RTTI支持扩展而不修改&#xff08;OCP&#xff09;构造…

如何高效使用论文搜索网站获取学术资源

做科研的第一道坎&#xff0c;往往不是做实验&#xff0c;也不是写论文&#xff0c;而是——找文献。 很多新手科研小白会陷入一个怪圈&#xff1a;在知网、Google Scholar 上不断换关键词&#xff0c;结果要么信息过载&#xff0c;要么完全抓不到重点。今天分享几个长期使用的…

POF|清华大学张宇飞团队:采用数据驱动湍流模型的三维增升装置模拟

采用数据驱动湍流模型的三维增升装置模拟 Three-dimensional high-lift configuration simulation usingdata-driven turbulence model 张绍广&#xff0c;吴辰禹&#xff0c;张宇飞* 清华大学&#xff0c;航天航空学院&#xff0c;北京100084 引用格式&#xff1a; Liao H,…