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

Jmeter逻辑控制器、定时器

目录

一、Jmeter逻辑控制器

①IF(如果)控制器

作用:

位置:

参数介绍:

步骤:

②循环控制器

作用:

位置:

步骤:

线程组属性VS循环控制器

③ForEach控制器

作用:

位置:

参数介绍:

步骤:

二、定时器 

①同步定时器:

位置:

参数介绍:

步骤:

②常数吞吐量定时器

作用:

位置:

参数介绍:

步骤:


一、Jmeter逻辑控制器

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

常见的:IF控制器、循环控制器、ForEach控制器

①IF(如果)控制器

作用:

        IF控制器用于控制它下面的测试元素是否运行

位置:

        测试计划 -> 线程组 -> 逻辑控制器 -> IF(如果)控制器 

参数介绍:

        JS语法形式、函数形式        

        

步骤:

        1.添加线程组

        2.用户定义的变量

        3.添加IF控制器,判断name是否等于baidu

                不勾选Interpret Condition,'${name}' == 'baidu'

                勾选,${_jexl3('${name}' == 'baidu',)}

        4.添加HTTP请求,访问百度

        5.添加IF控制器,判断name是否等于itcast

        6.添加HTTP请求,用来访问itcast

        7.添加查询结果树

②循环控制器

作用:

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

位置:

        测试计划 -> 线程组 -> 逻辑控制器 -> 循环控制器

步骤:

        1.添加线程组

        2.添加循环控制器—设置循环次数

        3.添加HTTP请求

        4.添加查询结果树

线程组属性VS循环控制器

不同点:线程组的循环次数对线程组下的所有HTTP请求有效

            循环控制器的循环次数对子节点下的HTTP请求有效

关联:假设循环控制器设置M次,线程组属性中设置N次

           循环控制器下的请求运行:N*M

           线程组下,非循环控制器下的请求运行N次

③ForEach控制器

作用:

        一般和用户自定义变量/正则表达式提取器一起使用,读取返回结果中一系列相关变量值。该控制器下的取样器都会执行一次/多次,每次读取不同的变量值。

位置:

        测试计划 -> 线程组 -> 逻辑控制器 -> ForEach控制器 

参数介绍:

        

        输入变量前缀:要读取的输入变量的固定前缀

        开始循环字段:要读取的输入变量后缀数字的最小值-1

        结束循环字段:要读取的输入变量后缀数字的最大值

        输出变量名称:读取输入变量的值后保存的新变量名,用于后续HTTP请求来引用。

步骤:

一、与用户定义的变量配合使用:

        1.添加线程组

        2.添加用户定义的变量    命名规则:前缀_编号

        3.添加ForEach控制器

        4.添加HTTP请求—百度

        5.添加查看结果树

二、与正则表达式配合使用

        1.添加线程组

        2.添加HTTP请求1-itcast

        3.在HTTP请求1下,添加正则表达式提取器,提取出所有的地址信息

    

二、定时器 

①同步定时器:

        阻塞线程(累积一定的请求),当在规定的时间内达到一定的线程数量。这些线程会在同一个时间点一起释放,瞬间产生很大的压力。

位置:

        测试计划 -> 线程组 -> 定时器 -> 同步定时器

        

参数介绍:

        

        模拟用户组的数量:模拟用户的数量,即指定同时释放的线程数数量,若设置为0,等于设置为线程组中的线程数量。若设置为0,等于设置为线程组中的线程数量。

        超过时间以毫秒为单位:超时时间,即超时多少毫秒后同时释放指定的线程数。

             · 如果设置为0,该定时器将会等待线程数达到了设置的线程数才释放,若没有达到设置的线程数会一直死等。

             · 如果大于0,那么如果超过超时时间中设置的最大等待时间后还没有达到设置的等待数,Timer将不再等待,释放已到达的线程,默认为0.

步骤:

        1.添加线程组,设置线程数为n

        2.添加HTTP请求

        3.添加同步定时器        

                设置并发线程数:同时发送请求的虚拟用户数

                设置超时时间:建立设置,并不能设置大小

        4.添加查看结果树

        5.添加监听器—聚合报告

②常数吞吐量定时器

        稳定测试时,要求模拟用户真实的业务场景

作用:

        让Jmeter按指定的吞吐量来执行,以分钟为单位

位置:

        测试计划 -> 线程组 -> HTTP请求 -> 定时器 -> Constant Throughput Timer

        

参数介绍:

        

        目标吞吐量:每个用户每分钟发送的请求数。

步骤:

        1.添加线程组,循环次数设置为永远

        2.添加HTTP请求

        3.添加常数吞吐定时器

                · 设置目标吞吐量:每个用户每分钟发送的请求数

                · 计算方法:要求QPS*60/线程数

        4.添加查看结果树

        5.添加监听器,聚合报告

http://www.lryc.cn/news/2396705.html

相关文章:

  • 每日八股文6.2
  • R3GAN利用配置好的Pytorch训练自己的数据集
  • 吴恩达机器学习笔记(1)—引言
  • 信贷风控规则策略累计增益lift测算
  • 【笔记】Windows 部署 Suna 开源项目完整流程记录
  • 【Elasticsearch】Elasticsearch 核心技术(一):索引
  • AudioTrack的理解
  • HTTP请求与HTTP响应介绍及其字段
  • Fullstack 面试复习笔记:操作系统 / 网络 / HTTP / 设计模式梳理
  • 中科院报道铁电液晶:从实验室突破到多场景应用展望
  • 智慧政务标准规范介绍:构建高效、协同的政务信息体系
  • 6个月Python学习计划 Day 12 - 字符串处理 文件路径操作
  • CSS篇-3
  • Unity使用Lua框架和C#框架开发游戏的区别
  • Go开发简历优化指南
  • 手机照片太多了存哪里?
  • 【论文笔记】SecAlign: Defending Against Prompt Injection with Preference Optimization
  • IP Search Performance Tests dat/db/xdb/mmdb 结构性能差异对比
  • OpenRouter使用指南
  • Linux 中 m、mm、mmm 函数和 make 的区别
  • 【MAC】YOLOv8/11/12 转换为 CoreML 格式并实现实时目标检测
  • NodeJS全栈WEB3面试题——P7工具链 测试
  • Mybatis框架各配置文件主要内容详解(二)
  • 【优选算法 | 队列 BFS】构建搜索流程的核心思维
  • virtio介绍 (三)--spdk作为virtio后端处理nvme盘io的流程--上
  • 关于BackgroundScheduler的pause
  • 设计模式(行为型)-中介者模式
  • 【Java学习笔记】异常
  • MySQL:视图+用户管理+访问+连接池原理
  • neo4j 5.19.0安装、apoc csv导入导出 及相关问题处理