01.jmeter介绍和安装
性能测试工具
Jmeter和Loadrunner
Loadrunner:工业级的性能测试工具,可以模拟大量用户,并监控性能指标提供报表。
优势:
- 支持的用户量大
- 详细的分析报表
- 支持IP欺骗
劣势
- 收费
- 体积大 无法定制功能
Jmeter:性能测试工具,Jmeter软件的功能与Loadrunner基本一致。
优点:
- 免费开源
- 体积小
- 可扩展的组件
缺点:
不支持IP欺骗
分析和报表能力比lr弱
选择jmeter的原因:
Jmeter免费 Jmeter能提供的功能与loadrunner基本一致,能满足绝大多数的性能测试需要
jmeter环境搭建:
(1)安装JDK
- 下载(注意选择操作系统对应的位数32/64) 安装(一键式)
- 配置环境变量
- 验证:java -version
(2)安装Jmeter
- 下载(注意下载的版本与JDK版本的对应关系) 安装(解压缩)
- 配置环境变量
- 验证:
- 双击Jmeter.bat
- 执行:java -jar ApacheJMeter.jar
02.jmeter包的解读
bin
docs
printable-docs
component_reference.html:是最常用到的核心元件帮助文档。
lib
04.jmeter组件介绍
jmeter元件及基本作用域
基本元件
-
取样器:发送请求。类似于自动化中的业务测试语句
-
逻辑控制器:控制元件执行顺序。类似于自动化中的逻辑控制语句
-
前置处理器:对发送的请求参数进行预处理。类似于自动化中的参数化。
-
后置处理器:对收到的响应数据进行处理。类似于自动化中获得对应的测试结果。
-
定时器:等待一定时间。类似于自动化中的sleep语句
-
测试片段:封装的脚本,供其他脚本调用。类似于自动化中封装的函数
-
配置元件:测试前的环境及数据配置。类似于自动化中的初始化动作
-
监听器:查看测试的结果。类似于自动化中的日志和报告。
作用域的原理:
按照jmeter测试计划的树形结构来定义作用域(有点儿类型python的缩进)
作用域的原则:
- 取样器是jmeter的核心,不作用于其他的组件
- 逻辑控制器,只对子节点起作用
- 对于其他的组件
- 如果父节点是取样器的话,则只对父节点起作用
- 如果父节点不是取样器的话,则对父节点下的所有组件起作用
05.jmter组件---线程组
线程组的介绍和使用
模拟多人操作
如果有多个线程组时,可以并行或者串行执行
HTTP请求:
HTTP请求查看结果:
06.jmter组件---断言
Jmeter断言:
通过自动化的手段对请求的响应数据进行自动校验
响应断言:
添加:线程组——HTTP取样器——断言——响应断言(断言一定是在HTTP请求的子节点下)
类似于assertEqual(response.json,”success“)
- assertEqual :校验的方式
- response.json:要校验的部分
- success:用来校验的数据
可以在同一个HTTP请求下包含多个响应断言
07.jmeter组件--监听器