Jmeter
Jmeter的安装:
安装jdk以及配置相对应的环境变量(jmeter3.*一下JDK8一下版本)Jmeter5.3需要jdk为8以上
配置jmeter的环境变量
验证:
Cmd中输入 java javac
Jmeter -version
使用jmeter的方式 windos下使用jmeter.bat
Linux下使用jmeter.sh
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
接口文档中:
1.url地址 http://apis.juhe.cn/lottery/query?key=111&lottery_id=ssq
http / https
域名:apis.juhe.cn
路径:/lottery/query
请求方式: get/post
TPC/IP OSI
三次握手四次挥手:
200 - 请求成功,已经正常处理完毕
301 - 请求永久重定向,转移到其它URL
302 - 请求临时重定向
304 - 请求被重定向到客户端本地缓存
400 - 客户端请求存在语法错误
401 - 客户端请求没有经过授权
403 - 客户端的请求被服务器拒绝,一般为客户端没有访问权限
404 - 客户端请求的URL在服务端不存在
500 - 服务端永久错误
Jmeter的接口测试:
1 测试计划中添加线程租
2 在线程租中添加http请求 在http请求中需要填入
3 在线程中添加查看结果树
Jmeter的压力测试
1 测试计划中添加线程租
2 在线程租中添加http请求 在http请求中需要填入
在线程租中进行修改 并发数量 (修改线程数量 修改循环次数 )
在线程组中进行添加聚合报告/表格查看结果/图形结果
Jmetere的断言:
断言用来判断接口的返回值是否匹配
在线程租中进行添加断言--响应断言并将json放入到响应结果中在察看结果树中来
Jmeter的参数化关联 都是用${变量名}
A:用户变量 一个变量对应一个变量值
B:用户参数 一个变量对应多个变量值
C:可以使用csv文件方式
1.用txt文件或者是excel,csv文件
2. 书写参数化值 一个http请求的所有参数以行为单位 多个值用,隔开
多个http请求对应是多行
- 在线程组中添加csvDataconfig 匹配对应的文件和参数名
D:可以使用函数助手的方式来随机生成${}参数变量
https://blog.csdn.net/qq_34659777/article/details/86005723
Jmeter的对数据库链接(对数据库进行压力测试)
测试数据的来源:
A.复用开发的原有数据 b.复用线上的真实数据c.直接使用线上数据 d.测试人员手动添加
E:产品或者是运营提供数据
在线程中添加配置原件 jdbconection config
事务的特性:ACID
原子性
隔离性
一致性
持久性
Commit 提交事务
Rollback 事务回滚
在线程租中添加取样器中的jdbcrequest
注意:query type类型不同则写sql语句不同
https://blog.csdn.net/vikeyyyy/article/details/80367135
Badboy录制(web端)
借用badboy
打开badboy的录制按钮
Badboy的浏览器中输入web项目的网址 http://项目名:端口号/路径
停止录制并在file选项中进行导出jmeter(exceport jmeter) 生成.jmx文件
在jmeter中将.jmx打开并添加到线程中
Jmeter录制(app端)
在线程租中添加http代理服务器,然后修改的是
*** http代理服务器是单击测试计划中非测试原件中找
端口号(和移动端设备的端口号保持一直)ip地址进行保持一直
将录制好的http请求保存的位置可以修改(1.直接放入测试计划中,2。可以在放入到线程组中)
在线程组中进行添加 查看结果树/聚合报告的时候 就可以对多个接口或者是业务场景进行录制
Jmeter的正则提取器 面试题:
在一个线程组中,B请求需要使用A请求返回的数据,也就是常说的关联,将上一个请求的响应结果作为下一个请求的参数,则需要对A请求的响应报文使用后置处理器,其中最方便最常用的就是正则表达式提取器了。
Jmeter+ant+jenkins的生成测试报告
接口自动化框架
Jmeter 对单接口或者是对业务场景进行设置最终得到对应的 性能参数
Ant 将jmeter默认生成的测试报告转换为html格式
Jenkins 实现持续集成测试(定时操作)
Svn/git 版本
前置条件: jdk jmeter ant
步骤: 1.在黑白窗口中输入 java javac 安装jdk
在黑白窗口中输入 jmeter -v 安装jmeter
修改jmeter的安装目录下bin目录下jmeter.properties以记事本的方式打开
将
定义文件夹来建立目录结构 Test--
在黑白窗口中输入 ant -version将ant的环境变量进行设置
修改在test/autotest/pc/buidler.xml的配置文件
A. buidler.xml文件所在位置
B. 配置jmeter的文件所在位置
C. 默认生成jtml和转换为html的测试报告的位置
D. 接受和发送邮箱的账号
E. .jmx文件所在位置
F. 发送测试报告邮箱账号和授权码以及开启邮箱的smtp/pop3的权限
- 实现jenkins集成(git/svn)
a. 解压tomcat
b. 将jenkins.war包放入到webapps下
c. 启动tomcat不成正常启动或者是出现闪退现象原因
(tomcat的
8.安装jenkins的插件 对应密码在4656681de877489886cd62c26a96cd3a
9.对jenkins进行构建
a.构建自由风格的项目并取名
b.配置jdk 以及javahome的路径
c.配置ant 以及ant的环境变量
D.配置定时版本和jdk版本问题 jre环境变量问题 tomcat的端口被占用 进程被占用)
(如果不能正常启动的话并之前有启动记录 需要删除.jenkins的仓库)
C:\Users\Administrator.jenkins
E.配置builder.xml文件
使用builernow 开始执行 构建
如果在测试工作中需要借用svn/git源码工具进行拉取代码并进行借用gradle进行打包并进行测试生成测试报告
Jmeter的插件
进行下载jmeter-plugins-manager-1.4.jar 到jmeter/lib/ext文件下
重启jmeter
对tps responsetime