性能测试工具--jmeter(一)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1.为什么用jmeter?
1)开源2)免费3)多系统兼容4)轻量5)易用6)插件丰富7)功能强大接口功能测试、接口自动化测试、接口性能测试
前端压测页面渲染的时间不包括在响应时间中jmeter主要用来测服务端性能即接口性能。
前端性能和服务端性能分开测。

2.其他性能测试工具apacheAB、loadrunner、locust、gatling,java项目建议用Jmeter

3.官网:https://jmeter.apache.org

在这里插入图片描述
CLI:command line interface

4…目录结构
在这里插入图片描述
5.jmeter的六大组件
配置元件、定时器、前置处理器、后置处理器、断言、监听器都可以添加到测试计划、线程组、逻辑控制器、取样器
1)配置元件类似于项目的配置文件初始化变量
主要CSV 数据文件设置(参数化用到、HTTP信息头管理器、HTTP Cookie管理器、HTTP请求默认值、计数器、JDBC Connection Configuration
2前置处理器(Pre Processors)在取样器请求之前执行一些操作。测接口时比如加密入参,就用BeanShell 预处理程序。
3)定时器(Timer):一般用来指定请求发送的延时策略不建议使用。
主要:固定定时器,同步定时器集合点秒杀和抢购场景使用。
4后置处理器(Post Processors)在取样器请求完成后执行一些操作通常用于处理响应数据从中提取需要的值。
主要正则表达式提取器、调试后置处理程序、jp@gc - JSON/YAML Path Extractor返回的数据是json用)、BeanShell 后置处理程序。
5断言主要用于判断响应是否返回了期望的业务结果。
主要响应断言、断言持续时间、BeanShell断言。
6) 监听器(Listener)监听器可以在 JMeter 执行测试的过程中搜集相关的数据并展示。
主要jp@gc - Transactions per Second、jp@gc - Response Times Over Time、jp@gc - Active Threads Over Time.
监听器主要用来调试脚本压测时需要将其禁用。

6.jmeter的其他组件
1测试计划(Test Plan)性能测试被测的项目
2线程性能测试不同的场景单场景、混合场景、稳定性场景添加到测试计划里。 线程组、jp@gc - Stepping Thread Group、 setUp线程组、tearDown线程组性能测试不同的场景单场景、混合场景、稳定性场景
3逻辑控制器(Logic Controller)事务控制器、吞吐量控制器控制业务模型、仅一次控制器、ForEach控制器只能添加到线程组下。
4取样器(sampler)HTTP请求90%以上都是http协议、jp@gc - Dummy Sampler、调试取样器、BeanShell 取样器、JDBC Request
5其他java、tcp、websocket

7.组件执行顺序 
 1配置元件  
 2前置处理器  
 3定时器  
 4取样器  
 5后置处理器  
 6断言  
 7监听器

8.作用域
1取样器sampler:不和其它元件相互作用因此不存在作用域的问题
2)逻辑控制器LogicController:只对其子节点中的取样器和逻辑控制器作用
3)6大组件:可以在测试计划、线程组、事务控制器、取样器下添加
总结如果是某个sampler 的子节点放在取样器下面则该元件对其父子节点起作用这个父节点就是取样器
如果其父节点不是sampler比如是测试计划、线程组、逻辑控制器、取样器则其作用域是该元件父节点下的其他所有后代节点包括子节点子节点的子节点等
和java变量作用域类似局部没有就用全局的
全部放局部但是会耗费很多客户端资源
公共的放全局比如断言的内容相同
特有的放局部就是放对应的组件线程组或者取样器下面比如取样器的断言内容不一样

9.创建脚本http
1)代理录制:jmeter自带http代理服务器很少用)
2)抓包手写:应用层协议抓包工具Fiddler、charles、F12抓包。一般其实是根据接口文档来写根据接口文档来编写脚本的过程中有问题时才根据抓包确认文档是否有问题

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6