性能测试工具--jmeret笔记

性能测试工具–jmeter简介
jmeter是apache组织开发的开源软件,由java语言来实现
主要用于对软件系统性能测试,主要是用在web性能、app性能
特点:
多线程框架-支持请求并发操作
用于对服务器模拟巨大的负载
支持web、数据库、ftp服务器等各类系统性能测试
开源、纯java语言编写,可以进行二次开发
安装:jdk安装,环境变量配置:java_home和path
jmeter启动:windows系统中jmeter.bat linux系统中是jmeter.sh
测试计划
线程组——用户数
Ramp-up period:1.多长时间启动所有线程
2.充足长以避免在启动又一个太大的负载,并且要充足小以至于最后一个线程在第一个完成前启动
3.如果设置为0就代表并发请求(只有一个请求时,测接口并发可以使用)
循环次数:自定义次数和永远(所有的请求都会循环)
delay thread creation until needed(延迟线程创建直到需要),如果设置了该选项,jmeter根据需要创建线程,通常和ramp-up period配合使用
调度器:持续时间和启动延迟都是以秒为单位
sampler列表(取样器):一般用http协议
断言加监听器
常用的断言:响应断言,断言持续时间,大小断言
常用的监听器:查看结果树,断言结果,聚合报告,用表格查看结果,图形结果

http请求:建立请求,发出请求,响应请求,在客户端呈现
请求信息包括:
请求行:
方法:GET:概念:请求服务器指定的资源,例:百度首页
特点: 1.安全性不高–客户浏览器可以明文看到
2.所有请求的内容放在url中
3.浏览器浏览历史里面有记录
4.速度较快
使用场景:只提交访问请求,不做提交数据(账号,密码)
POST:概念:向服务器特定资源提交请求数据,例:登录窗口
特点:1.安全性高
2.没有类型要求
3.速度相对较慢
4.浏览器记录里没详细数据
使用场景:数据提交
请求头:
包含:浏览器版本型号,客户端的系统版本,浏览器内部信息
URL:,协议(http、https),域名和IP(ip地址,端口,路径,参数)
空行
可选的消息体
端口http–80,https–443,mysql–3306,抓包工具–888

响应数据:
状态行:协议版本和返回码
消息报头
空行
响应正文

扩展资料:
cookie:
概念:http是无态,没有记忆功能
工作流程:1.服务器产生cookie;
2.通过http协议-传输给浏览器
3.浏览器保存在本机
4.下一次请求会自动获取
特点:安全性不高,可以获取本地cookie–kv格式
优势:如果考虑了服务器资源的话–可以使用
session id:
概念:会话id
特点:1.保存在服务器里面
2.会消耗服务器资源
3.安全性相对cookie高
4.劣势:如果服务器挂了=没有
token:令牌,使用场景多用户登录,例如淘宝

jmeter脚本录制:
性能测试的原理:模拟成千上万个用户去访问软件系 统,分析相应指标–找出性能瓶颈–优化
脚本的概念:一个测试场景的用户的操作流程
目的:实现1----N,先完成一个用户的运行
方法:
1.手工编写:测试人员根据请求详情–填入相应数据
2.工具录制:
1.http代理服务器:
概念:中间商
操作流程:设置浏览器代理,启动代理服务器(jmeter),操作,自动录制脚本
2.badboy录制
3.抓包工具(fiddler):本身就是一个代理服务器,打开的一瞬间就启动了,关掉,服务器也跟着关掉
jmeter配置元件:
http请求默认值
http cookie管理器
http cache管理器
htp请求头(信息头)管理器
参数化
CSV数据控件 ${变量名}
用后自定义变量
函数助手 在jmeter操作栏中类似于笔记本的样式
集合点(同步定时器)
目的:让各个线程(用户)步调一致,对系统进行加压,达到模拟真实并访问的效果
在定时器中,集合点用户数:0–全部用户,具体用户数不能大于线程数;具体线程数小于线程数,每一次n个为一组
超时时间:0–没有超时机制,具体指–是每一组集合的时间
fiddler工作原理

  1. 客户端像WEB服务器发送HTTP(S)请求时,请求会先经过代理Fiddler代理服务器。
  2. Fiddler代理服务器截取客户端的请求报文,再转发到WEB服务器,转发之前可以做一些请求报文参数修改的操作。
  3. WEB服务器处理完请求以后返回响应报文,Fiddler代理服务器会截取WEB服务器的响应报文。
  4. Fiddler处理完响应报文后再返回给客户端。

关联的作用–获取到返回的值,然后保存起来,给别的请求使用,或者做一些其他的处理
jmeter中的关联–使用正则表达式提取器(在后置处理器),正则表达式语法–(.+?)–()括起来的部分就是要提取的,.匹配任何字符串,+一次或多次,?在找到第一个匹

配项后停止。
正则表达式中
引用名称–变量名
正则表达式–要转化的值以及内容,内容用(.+?)来表示
模板–取一个元素用 1 1 1来表示
匹配数字–0表示随机,其他数字代表第几个
调试取样器–非常实用且重要的控件,可以很清楚的显示结果
前置处理器和后置处理器的区别就是一个在请求前一个在响应后
仅一次控制器–在仅一次控制器下的子节点只执行一次
switch控制器–选择控制器下的一个请求来执行,从0开始,只能运行一个
循环控制器–将控制器下的请求循环3次
固定定时器–对请求进行增加一个固定的时间
吞吐量控制器–跟吞吐量无关系,意思类似于分流,将分开的用户和剩下的用户分开,各干各的
常数吞吐量定时器–控制间隔时间,以分为单位–30为两秒,60为一秒,120为半秒(500毫秒)
计数器–和循环控制器以及正则一起使用可以对多个值进行操作

用jmeter生成测试报告
首先配置环境变量–jmeter_home(jmeter路径)和pyth变量后面加一个(%JMETER_HOME%\bin)用分号隔开
然后在cmd中直接打开jmeter,写完后保存到一个新的文件,重新新建一个空文件,在cmd中用(jmeter -n -t jmx文件的存放路径一般用绝对路径 -l 新建空文件的路径

具体到那个盘生成一个jtl文件 -e -o 新文件的路径)回车,就会在新文件中生成一个测试报告(页面版的)
编写测试报告
意义:是整个性能测试的总结性工作(测试方案,场景,性能分析,结论)
组成:测试基本信息(目的,范围,方法,标准),测试环境描述(环境和工具),测试案例执行分析,测试结果综合分析及建议,附录(测试图片)

总结(经常用到的原件)
配置原件–CSV 数据文件设置,HTTP信息头管理器,HTTP Cookie管理器,HTTP缓存管理器,HTTP请求默认值
后置处理器–正则表达式
断言–响应断言,断言持续时间
监听器–查看结果树,表格,图形,聚合结果,断言结果
定时器–同步定时器,固定定时器
逻辑控制器–仅一次控制器,switch控制器,循环控制器

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值