Jmeter基本使用
jmeter的主要界面布局分为标题栏,菜单栏,工具栏,树形标签栏和内容栏
标题栏:主要显示计划信息及Jmeter版本
菜单栏:全部的功能都包含在菜单栏中
工具栏:工具栏中的按钮在菜单栏中可以找到,工具栏就相当于菜单栏常用功能的快捷按钮
树形标签栏:树形标签栏通常用来显示测试计划相关的标签
内容栏:配合树形标签显示,树形标签中点击哪个标签,内容栏中就显示相应的内容和操作
实例:向ww.hebbao.com发送一个请求
实现步骤分析
- 创建测试计划
- 添加线程组
- 在线程组内部添加http请求组件【取样器】
- 配置http请求组件
- 添加查看结果树组件【监听器】
- 运行测试计划
具体示例
然后运行测试,保存测试结果,在结果树里进行查看
Response Body 响应体
Response headers 响应体
响应体里默认是以test文本的形式展现的,要想换html
测试计划的元件
测试计划:描述一个性能测试,包含本次测试所有相关功能
线程组:线程用户,相当于你的业务流路程
线程组里的线程数:就代表用户数量,不是并发的
Ramp-Up:代表多少秒内把指定的用户启动起来【线程数】
Same user on each iteration
5.2.1 版本以上版本才有
【选中】每次循环用第一次的cookie,不再更新;可以理解为每次循环都是同一个用户。
【不选中】每次循环都是用新的cookie值;可以理解为每次循环都是不同的用户。
取样器
支持不同协议类型的请求
作用:向服务器发送请求并记录响应时间和响应内容
逻辑控制器
逻辑控制器,包括两类,一类用于控制testplan中sampler节点发送请求的逻辑顺序的控制器,常用的有如果(if)控制器,switchController,RuntimeContriller,循环控制器等。另一类是用来组织可控制sampler来节点的,如事务控制器,吞吐量控制器。
配置元件
配置元件用于提供静态数据配置的支持,用于做参数换的,前置条件
定时器
用于操作之间设置等待时间,等待时间使性能测试中常用的控制空护短QPS手段,Jmeter定义了不同类的Times
前置处理器
在接口运行【取样器】之前先执行
后置处理器
在接口运行【取样器】之后再执行
断言
用于检测测试中得到的响应数据等是否符合预期,Assertions一般来说设置检查点,用以保证性能测试过程中的数据交互与预期一致
做自动化测试的时候使用
监听器
对执行的结果进行展示
Jmeter运行原理
- jmeter是以线程的方式运行的
在jmeter里是以线程的方式运行的,它运行在java虚拟机上,每个进程的开销比较大,如果以进程的方式运行的话,每台负载机上的进程数量就不会容许太多,当我们需要大并发的时候,需要大量的负载机,这显然不是经济的,在着java也是支持多线程的,所以jmeter选择了以线程的方式运行,说白了就是一台电脑能做到事情现在用10台去做,增加了成本
- jmeterGUI模式运行测试脚本对电脑本身的资源消耗较大,无法实现大的并发和压力测试
jmeter通过线程组来驱动多个线程运行测试脚本对被测服务器发起负载,每个负载机上都可以运行多个线程组,jmeter运行场景不仅可以在GUI方式中完成,还可以使用命令行,而且命令行运行的方式对于负载机的消耗会更小
- GUI仅仅用于创建脚本和调试脚本,压力测试使用命令行
- 使用命令行实现高并发和压力测试
Jmeter测试计划要素
使用jmeter编写测试脚本--4要素
- 测试计划
- 在测试计划中至少有一个线程组【没线程组就没有取样器】
- 在线程组中至少有一个取样器
- 在测试计划中必须要有监听器

评论