引言
在快速发展的数字化时代,软件测试作为保障软件品质和用户体验的重要一环,显得愈加重要。SESSION请求、TOKEN请求、charles使用和Postman断言等技术,成为测试人员不可或缺的必备技能。
在这篇文章中,我将深入浅出地为您讲解如何掌握这些技术,让您在测试工作中轻松应对不同的挑战,并快速提升测试效率和品质。无论您是一名初学者还是经验丰富的测试从业者,本篇文章都将为您提供全面的指导和实用的技巧,让您在更短的时间内达到更好的测试结果!
一.请求头
一)COOKIE请求(存储于客户端)
∵HTTP的一个无状态的协议不能记录数据 → ∴COOKIE:
1、记住用户之前的操作行为
2、用户认证授权
COOKIE的信息是存储在客户端的,它是不安全的
COOKIE的请求流程:
1、客户端输入账户和密码,登录成功,生成一个用户唯一的信息COOKIE的信息(用户唯一的认证授权信息)
2、服务端把生成的COOKIE认证授权信息通过响应头中的Set-Cookie返回给客户端
3、再系统下个请求中,比如查看个人主页,发送个人主页请求的时候,会在请求头中的Cookie中带上服务端返回来的COOKIE认证授权信息发送给服务端
4、服务端接收到,来进行对比信息是否一致
二).SESSION请求的流程(存储于服务端)
SESSION:它是存储在服务端的
1、客户端输入账户和密码,登录成功,在服务端生成一个SESSIONID同时存储在服务端(DB or Redis)
2、服务端把生成的SESSIONID通过响应头中的Set-Cookie返回给客户端
3、在系统下个请求中,比如查看个人主页,发送个人主页请求的时候,会在请求头中的Cookie中带上服务端返回来的SESSIONID发送给服务端
4、服务端接收到客户端发送过来的SESSIONID和存储在自己本地的SESSIONID之间会做一个对比
5、如果一致,允许访问个人主页
6、如果不一致,就重定向到登录的页面
三).TOKEN的请求流程(应用于前后端分离,通常通过JWT技术实现)
TOKEN:本质上是SESSION原理来实现的,我们一般称呼它为令牌。前后端分类的产品使用的都是TOKEN。目前TOKE N使用的技术一般是JWT
JWT:Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
TOKEN的特点:
1、每次登录成功后返回的token是不一样是的,是一个随机的字符串
2、TOKEN一般通过响应数据返回给客户端
3、客户端发送请求给服务端,是通过请求头里面的Authorization: JWT TOKEN
请求都是为了认证授权
二.如何获取网络请求/为什么要获取网络请求
为什么需要获取网络请求?
1、获取网络请求就能够得到HTTP协议的组成部分
怎么获取网络请求?
1、使用浏览器的调试模式中的network就可以获取
2、charles/fildder工具来获取网络请求
API测试有必要吗?
1、有必要,判定前后端故障在哪,金字塔模型不同分层的测试点也不一样
三.端口
http:80
https:443 现在网站
email:25
ssh:22
tomcat:8080
mysql:3306
请求响应时间:就是一个完整的HTTP请求流程的时间之和。
四.charles使用
一)弱网络的测试原因和方法
弱网络的测试目的是测试不同网络类型来验证程序的响应时间是否可以让用户接受的时间范围内
1、使用charles等工具来模拟弱网络的情况
2、使用浏览器的调试模式来模拟弱网络的情况
弱网络的测试(需要考虑不同地区的实际网络情况)
五.Postman做自动化测试
一个API测试通过的标准是:
1、协议状态码
2、响应数据
3、业务状态吗(可能有,也可能没有)
一)postman断言处理
1.假设数据,输出响应数据
定义一个变量来获取相应数数据 var jsonDate=JSON.parse(responseBody)【这是定义数据的格式】 console.log(定义部分)
2.postman断言
1,1简单断言
注意:必须ctrl+/了中文部分,否则结果错误
1.2复杂断言
结语
这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。
获取方式:留言【软件测试学习】即可
如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!