Jmeter控制器与定时器

一、逻辑控制器

操作步骤:

  1. 添加线程组

  2. 用户定义的变量

  3. 添加if 控制器(使用 jexl3 表达式),判断name是否等于baidu ,勾选Interpret Condition as Variable Expression?

如果等于baidu,走if下面的http请求"HTTP请求-baidu",如果等于itcast,走if下面的http请求"HTTP请求-itcast"

二、循环控制器

位置:测试计划->线程组->右键添加逻辑控制器->循环控制器

步骤:

  1. 添加线程组
  2. 添加循环控制器-设置循环次数
  3. 添加HTTP请求
  4. 添加查看结果树

三、ForEach 控制器

作用: 一般和用户自定义变量或者正则表达式提取器一起使用,读取返回结果中一系列相关的变量值

该控制器下的取样器都会被执行一次或多次,每次读取不同的变量值

位置:测试计划->线程组->右键添加逻辑控制器->ForEach控制器

1) 与用户定义的变量配合使用(案例1):

  1. 有一组关键字[hello,python,test],使用用户定义的变量存储
  2. 要依次取出关键字,并在百度搜索,例如: 百度安全验证

步骤:

  1. 添加线程组
  2. 添加用户定义的变量
  1. 添加ForEach 控制器
  1. 添加http请求-百度
  1. 添加查看结果树

2)与正则表达式提取器配合使用(案例2):

  1. 访问传智播客首页 传智教育【官网】-好口碑IT职业教育,好口碑IT培训机构,一样的教育,不一样的品质传智教育("传智播客"全新升级为"传智教育")专注IT培训,开设多种IT培训课程,提供java培训、鸿蒙培训、前端开发培训、鸿蒙开发培训、嵌入式培训、嵌入式开发培训、大数据培训、人工智能培训、python培训、web前端培训、软件测试培训、ui设计培训、移动开发培训、新媒体运营培训、产品经理培训等IT培训服务,是好口碑的IT培训机构。https://www.itcast.cn/,获取首页中的地址信息,并全部保存下来
  2. 依次取出地址关键字,并在百度搜索,例如:https://www.baidu.com/s?wd=地址

操作步骤:

  1. 添加线程组
  2. 添加HTTP请求1-itcast
  3. 在http请求1下面,添加正则表达式提取器,提取出所有地址信息
  4. 添加ForEach控制器
  5. 添加HTTP请求2-百度
  6. 添加查看结果树

四、定时器

1)同步定时器

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

添加定时器-Synchronizing Timer

参数介绍:

--模拟用户的数量: 指同时释放的线程数数量

若设置为0,等于设置为线程组中的线程数量(注意:一定要确保设置的值不大于它所在线程组中设置的线程数)

--超过时间:即超过xx毫秒后同时释放指定的线程数

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

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

执行顺序:先执行同步定时器,每秒集满40个后,再释放给线程组。再集满40个,再释放给线程组。

2)常数吞吐量定时器

案例:

2个用户针对(服务器的QPS要求:20QPS(20次/s)的频率访问百度首页,持续一段时间,统计运行情况

3)固定定时器

案例:

IHRM系统登录错误3次后,锁定1分钟,等待1分钟后重新输入正确的用户名密码登录成功

请求方法:POST

请求URL:http://ihrm-test.itheima.net/api/sys/login

请求头:Content-Type: application/json;charset=UTF-8

请求体:{"mobile":"13800000002","password":"123456"}

步骤:

添加线程组

添加HTTP请求1 - 错误1次

添加HTTP请求2 - 错误2次

添加HTTP请求3 - 错误3次

添加HTTP请求4 - 正确用户名密码

在HTTP请求4下,添加固定定时器

添加查看结果树

添加http信息头管理器

相关推荐
字节程序员1 小时前
Jmeter分布式压力测试
分布式·jmeter·压力测试
美团测试工程师11 小时前
九大高效的前端测试工具与框架
软件测试·测试工具·jmeter
love静思冥想15 小时前
JMeter 使用详解
java·jmeter
互联网杂货铺2 天前
几个常见的Jmeter压测问题
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·压力测试
ggggyyyyy09282 天前
接口测试-Fidder及jmeter使用
测试工具·jmeter·fiddler·接口测试
明月与玄武2 天前
Jmeter 分布式压测部署--常见坑以及解决方案
分布式·jmeter
字节程序员2 天前
使用JUnit进行集成测试
jmeter·junit·单元测试·集成测试·压力测试
hakesashou2 天前
jmeter怎么调用python
开发语言·python·jmeter
我非夏日2 天前
JMeter配置原件-计数器
jmeter
爱学测试的李木子2 天前
性能】JDK和Jmeter的安装与配置
java·开发语言·软件测试·测试工具·jmeter