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信息头管理器

相关推荐
小码哥说测试2 分钟前
接口测试用例设计的关键步骤与技巧解析!
自动化测试·测试工具·jmeter·职场和发展·测试用例·接口测试·postman
小钱c73 小时前
Mac下安装Apache JMeter并启动
jmeter·macos·apache
古人诚不我欺6 小时前
jmeter常用配置元件介绍总结之函数助手
jmeter
川石课堂软件测试6 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
古人诚不我欺6 小时前
jmeter常用配置元件介绍总结之取样器
jmeter
十叶知秋7 小时前
【jmeter】jmeter的线程组功能的详细介绍
数据库·jmeter·性能测试
我非夏日7 小时前
JMeter基础篇
jmeter
茶馆大橘16 小时前
微服务系列五:避免雪崩问题的限流、隔离、熔断措施
java·jmeter·spring cloud·微服务·云原生·架构·sentinel
土小帽软件测试1 天前
jmeter基础01-2_环境准备-Mac系统安装jdk
java·测试工具·jmeter·macos·软件测试学习
土小帽软件测试1 天前
jmeter基础03_汉化jmeter界面
测试工具·jmeter·软件测试学习