什么是jmeter
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
首先是jmeter软件的安装,jmeter是基于java的,所以首先本地需要有Java环境。
具体java环境的安装与环境变量配置可见: https://blog.csdn.net/Beat_Boxer/article/details/85236393
验证java环境是否安装成功:
☆☆☆☆java -version 和 javac 都成功方可成功
☆☆☆☆温馨提示:jmeter4.0需要jdk8及以上java版本
一、首先下载jmeter的压缩包
二、打开此电脑里面的环境变量
(1)
(2)
(3)
(4)
CLASSPATH的变量值
%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;
三、打开jmeter文件的bin文件夹 打开里面的jueter.bat
四、安装成功
Jmeter工具的介绍
jmeter工具主要是用来进行: 性能测试
性能测试主要分为负载测试和压力测试
负载测试和压力测试的区别
负载测试:在一定的工作负荷下,给系统造成的负荷及系统响应的时间。
压力测试:在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响
性能测试又分为 web端和 app端 测试
Web端
一个web端的请求处理一般有一下步骤:
(1)客户发送请求
(2)web server接受到请求,进行处理;
(3)web server向DB(数据库)获取数据;
(4)webserver生成用户的object(页面),返回给用户。给客户发送请求开始到最后一个字节的时间称为响应时间(第三步不包括在每次请求处理中)。
这些步骤称为响应时间
响应时间(客户端向服务端的请求时间,服务端对数据库的请求时间,服务端将结果展现到页面的时间)
响应时间要遵循 2(正常) 5(一般) 8(差) 原则
吞吐量 指的是在一次性能测试过程中网络上传输的数据量的总和.吞吐量/传输时间,就是吞吐率.
并发数: 单用户的多次操作
多用户的单次操作
点击率:每秒钟用户向WEB服务器提 交的HTTP请求数.
资源使用率:cpu <80%内存 <80% io <40 网络 <30%
详情请看:https://www.cnblogs.com/flyr/p/5509451.html
APP端
App性能指标的获取手段
CPU 内存 电量 启动时长 帧率 网络流量
·
Jmeter工具使用
1.jmeter中文设置
2.创建线程组
3.在线程组里面添加Http请求(对单个接口或单个请求进行访问)
4.http请求里面的各种参数
找一个接口(随便找一个可以用的)http://v.juhe.cn/offset/index?key=你申请的KEY&lat=39.908700982285396&lng=116.3974965092&type=6
5.选择监听器
6.点击运行
7.出现结果
接口的压力测试
创建聚合报告
之后运行就可以看出接口的各个值
jmeter的断言
创建断言
断言用来判断接口的返回值是否匹配在线程租中进行添加断言--响应断言并将json放入到响应结果中在察看结果树中来
jmeter的参数化关联
当上文中有一些变量的值在下文当中被使用
做接口测试的时候,有很多的接口之间是有数据关联的,
有些接口的参数需要用到上一个接口的数据,那么就需要做关联
一定要理清楚接口的业务逻辑
搞清楚当前这个接口需要用到哪些接口的哪些数据?
搞清楚你需要提取的数据,在哪里,是在body中,还是在响应头中?
根据不同的返回格式,需要选择不同的提取器
接口关联步骤
一、第一总方法
1.上一个接口中设置正则表达式提取器元件或JSON提取器元件;
2.在下一个接口中需要关联的地方使用${变量名}把上一个接口截取的值进行引用
二。第二种方法
用户参数一个变量对应多个变量值
创建用户参数
添加参数
第三中方法
可以使用csv文件方式
1.用txt文件或者是excel,csv文件
2.书写参数化值 一个http请求的所有参数以行为单位 多个值用,隔开
多个http请求对应是多行
在线程组中添加csvDataconfig匹配对应的文件和参数名
可以参考链接:https://blog.csdn.net/qq_34659777/article/details/86005723