一、 Jmeter介绍与安装
介绍
Jmeter是个纯java编写的开源压测工具,apache旗下的开源软件,设计用于负载功能测试和性能测试。
Apache JMeter 功能包括:
1.能够加载和测试许多不同的应用程序/服务器/协议类型:http、https、soap、ftp、database数据库、邮件传输协议等
2.全功能测试IDE,允许快速记录测试计划,构建和调试
3.基于Java开发,支持Linux、Windows、MAC OSX等平台
4.生成完整的动态HTML报告
5.通过从最流行的响应格式、HTML、JSON、XML或任何文本格式提取数据的能力,可以轻松地进行相关性
6.多线程框架允许多线程并发采样,同时通过不同的线程组进行不同功能的同时采样
7.缓存和离线分析/重放测试结果
安装
(1)安装java运行环境,建议安装JDK环境http://www.oracle.com/technetwork/java/javase/downloads/index.html
(2)下载对应的Jmeter版本并解压
官网地址:http://jmeter.apache.org/
二、基础元件介绍
(1)测试计划(Test plan)
描述一个性能测试,包含与本次性能测试相关的功能
(2)线程组 Threads(users)
代表一定数量的并发用户,可用来模拟并发用户发送请求,一般一个线程组就是一组虚拟用户
线程数:虚拟用户数
Ramp-Up Period(in seconds):全部线程启动的时长,单位是秒,如有8个线程,Ramp-Up = 200秒,那么线程的启动时间间隔
为200/8=25秒
循环次数:每个线程发送的次数
(3)取样器(Sampler)
性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,支持多种不同的sampler如HTTP Request Sampler 、 FTP Request Sample 、TCP Request Sample 、JDBC Request Sampler 等
(4)逻辑控制器(Logic Controller)
包括两类无件,一类是用于控制test plan 中 sampler 节点发送请求的逻辑顺序的控制器,常用的有 如果(If)控制器 、switch
Controller 、Runtime Controller、循环控制器等。另一类是用来组织可控制 sampler 来节点的,如 事务控制器、吞吐量控制器。
(5)监听器(Listener)
对测试结果数据进行处理和可视化展示的一系列元件,常用的有图形结果、查看结果树、聚合报告等
(6)配置原件(Config Element)
用于提供对静态数据配置的支持
(7)定时器(Time)
负责定义请求(线程)之间的延迟间隔,模拟对服务器的连续请求
(8)断言(Assertions)
用于检查测试中得到的响应数据等是否符合预期,Assertions一般用来设置检查点,用以保证性能测试过程中的数据交互与
预期一致
(9)前处理器(Pre Processors)
用于在实际请求发出之前对即将发出的请求进行特殊处理
(10)后处理器(Post Processors)
用于对Sampler发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似loadrunner中的关联)。
三、JMeter录制与回放
在JMeter2.1版本之前,JMeter应该是不支持录制和回放功能的,那时候如果需要录制jmeter的性能测试脚本的话,就需要使用第三方工具——Badboy。
Badboy下载地址:http://www.badboy.com.au/download/send?svId=127
现在jmeter已经支持脚本的录制功能了,但录制的体验相对于badboy来说还是差了一些。录制回放功能可以让大家对性能测试脚本开发的过程有个感性的认识
录制步骤:
1、测试计划中添加线程组
2、添加非测试元件HTTP代理服务器
3、配置HTTP代理服务器
--端口号 建议设置与本地电脑无冲突的端口号--选择目标控制器录制脚本的存放位置
4、--选择分组每个组放入一个新的控制器
5、在排除模式下,点击Add suggested Excludes,会生成屏蔽访问时的图片、CSS其他资源
6、录制WEB端/移动端脚本
安装证书
apache-jmeter-4.0\bin 下ApacheJMeterTemporaryRootCA.crt
(1)设置浏览器代理
注意浏览器的端口和JMeter的代理的端口要一致
(2)录制移动端脚本
手机信任证书:通用-》关于本机-》证书信任设置
手机wifi设置代理连接到PC(PC和手机wifi要在同一个网段)