1.点击Download Releases
2.选择压缩文件,进行下载
安装Jmeter5之前需要先配置Java环境,最好jdk为1.8以上的版本。
Jmeter下载好了接下来我们就进行Jmeter的环境变量配置吧!
3. 右键点击我的电脑,然后点击属性,点击高级系统设置
配置环境变量
1.点击环境变量
2.点击新建,输入变量名为:JMETER_HOME 变量值为你Jmeter解压的路径。随后再点击确定
3.接下来还要配置classpath变量,点击新建,变量名为固定值:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;,随后点击确定。
完成以上就说明基本配置已经完成了,最后我们可以找到我们解压的文件,点击bin目录,找到jmeter.bat, 双击打开。
耐心等待一会会出现以下的界面
一个命令界面,一个工作区域。
命令界面
工作界面
jmeter的工具: 性能测试
负载和压力的区别:
负载测试:在一定的工作负荷下,给系统造成du的负zhi荷及系统响应的时间。
压力测试:在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响
TPS和QPS的区别:
tps可以理解为是每秒对事务的处理的能力 qps是每秒对服务器的查询能力
性能测试 web端和app端测试
web端的性能指标:
https://www.cnblogs.com/flyr/p/5509451.html
响应时间(客户端向服务端的请求时间,服务端对数据库的请求时间,服务端将结果展现到页面的时间)
响应时间 2 5 8原则
吞吐量:指的是在一次性能测试过程中网络上传输的数据量的总和.吞吐量/传输时间,就是吞吐率.
TPS:每秒处理事务能力
并发数: 单用户的多次操作
多用户的单次操作
点击率:每秒钟用户向WEB服务器提 交的HTTP请求数.
资源使用率: cpu <80% 内存 <80% io <40 网络 <30%
app端的性能指标
App端的性能指标:
Cpu 内存 流量 电量 启动时间 帧率
cpu <80% 内存 <80%
电量的损耗:
流量的损耗:
线程和进程区别:
接口测试:postman jmeter
Jmeter的接口测试:
1 测试计划中添加线程租
2 在线程租中添加http请求 在http请求中需要填入
3 在线程中添加查看结果树
Jmeter的压力测试
1 测试计划中添加线程租
2 在线程租中添加http请求 在http请求中需要填入
在线程租中进行修改 并发数量 (修改线程数量 修改循环次数 )
在线程组中进行添加聚合报告/表格查看结果/图形结果
Jmetere的断言:
断言用来判断接口的返回值是否匹配
在线程租中进行添加断言--响应断言并将json放入到响应结果中在察看结果树中来
Jmeter的参数化关联 都是用${变量名}
A:用户变量 一个变量对应一个变量值
B:用户参数 一个变量对应多个变量值
C:可以使用csv文件方式
1.用txt文件或者是excel,csv文件
- 书写参数化值 一个http请求的所有参数以行为单位 多个值用,隔开
多个http请求对应是多行
3.在线程组中添加csvDataconfig 匹配对应的文件和参数名
D:可以使用函数助手的方式来随机生成${}参数变量
【JMeter】JMeter随机生成手机号后8位并去重并进行注册手机号的压测
参考链接:https://blog.csdn.net/qq_34659777/article/details/86005723
https://www.cnblogs.com/tzxy/p/13373685.html
Jmeter的对数据库链接(对数据库进行压力测试)
测试数据的来源:
A.复用开发的原有数据 b.复用线上的真实数据c.直接使用线上数据 d.测试人员手动添加
E:产品或者是运营提供数据
在线程中添加配置原件 jdbconection config
在线程租中添加取样器中的jdbcrequest
<meta charset="utf-8">
DBC驱动包链接:
链接:https://pan.baidu.com/s/1P_jAt2C0lMnITjcRd5OeFg
提取码:ab12
Jmeter需要使用JDBC功能时,把解压好的jar包放在(jmeter的lib路径)即可。
1.打开jmeter,先创建线程组。
2.测试计划->添加->配置元件->JDBC Connection Configuration
3.然后第一个红框随便写,第二个红框配置JDBC数据库连接
Database URL: jdbc:mysql://替换ip地址:3306/数据库名
配置完成就可以执行数据库了。
4.线程组下面添加JDBC sample,在红框里输入第三步里的输入的值
5.查看结果树,显示这样就已经连接数据库,可以操作数据库数据了
注意:query type类型不同则写sql语句不同
Boday录制(web端)
1.打开badboy界面 网上搜索官网下载即可
2.将http://www.baidu.com放到指定位置
3.双击回车即可
4.在百度的搜索界面录入农夫山泉创始人成中国首富,回车,并点击小红点录制脚本结束。
5.点击File导出到桌面上即可(位置自己定义)
6.打开Jmeter点击左上角文件打开导入到Jmeter即可
可参看链接:https://www.cnblogs.com/flyyingzi/p/10039063.html 里面有两种方式(1.利用badboy来录制 2.通过JMeter自身设置来录制脚本。)
Jmeter怎么录制脚本
1.右键单击该测试计划,选择“添加”-“线程组”,添加一个线程组。
2.为了录制客户端的操作,需要添加一个Http代理服务器,操作如下,右键单击“工作台”,选择“非测试元件”-“Http代理服务器”。设置该“Http代理服务器”,“目标控制器”、分组、端口
提示:端口需要设置:8888(和手机上wifi代理的一致,录制时fiddler必须关掉,它也用8888端口,否则端口冲突。
1.右键单击该测试计划,选择“添加”-“监听器”-“查看结果树”;
2.点击运行,运行结束在“查看结果树”中查看执行结果;
Jemter正则表达式提取器:
第一步:选择一个接口点击右键->添加->后置处理器->正则表达式提取器
引用名称:被提取内容赋值的变量名,相当于xxx = 提取的内容;引用方法1$;当有多个正则表达式存在时,使用编号来表示解析到哪一个title中
匹配数字:当提取的字段,有多个值时,例如:提取id,匹配到id=1 ,id=2,那么这个时候需要用匹配数字来表示获取哪一个id;0表示随机,1表示提取第一个,以此类推
缺省值:当没有匹配到对应内容时,使用一个默认值去顶替它
json提取器
第一步:右键“HTTP请求”->添加->后置处理器->JSON提取器
第二步:选相对应的
Jemter定时器:
一,固定定时器
设置固定的时间
执行的效果
二,高斯随机定时器
对于当前中的定时器添加
然后在线程输入上中输入上相关的设置。
三,固定吞吐量定时器
this thread only: 设置每个线程的吞吐量。总的吞吐量=线程数该值,*
all active threads in current thread group:吞吐量被分摊到当前线程组所有的活动线程上。每个线程将根据上次运行时间延迟 】**