接口自动化测试(6)
一、怎么判断是前端问题还是后端问题:(重点!!)
(1、前端与后端发生网络请求:①后端返回的内容,如果前端依照展示出来,内容不合理就是后端的问题;②如果后端返回的内容,前端没有依照展示出来,那就是前端的问题;2、如果前端与后端无网络请求,那么问题就是前端展示的)
1、返回的错误提示信息不合理,但是前端与后端没有发生网络请求,那么问题就是前端的。
2、假设页面返回的错误提示信息不合理,但是前端与后端发生了网络请求,后端返回来的错误提示信息是123,前端展示的是456,那么依然是前端问题。
3、假设页面返回的错误提示信息不合理,前端与后端发生了网络请求,后端返回的提示信息是123,前端展示的也是123,那么说明是后端的问题。
例1:假设我们输入了账户,图中提示“请输入您的登录提示”此信息不合理,Network中没有任何与后端的请求,那么是前端的问题。
例2:假设页面上出现的是“登录名错误”,如下图的登录请求返回信息为“登录名或密码错误”,,就说明是前端的问题,前端没有依照后端来展示。
二、接口文档形式:
1、在YAPI接口管理的平台上
2、文档的形式
在公司里面,公司一般会使用YAPI的平台来管理所有的接口,那么测试以及前端,包含了后端都是以这个平台的接口文档为标准。
1、我们可以使用network获取网络请求
2、network不太方便时,使用charles工具(或fiddler)来获取
charles是一款很优秀的抓包工具,还有一款抓包工具是fiddler,我们选择使用Charles。
官网:https://www.charlesproxy.com/ (收费、需要破解)
总结:获取请求信息
接口管理平台yapi
文档
network
Charles
三、HTTPS
HTTP的协议它是存在缺陷的,这些缺陷主要为:
-
通信内容是明?,内容很可能被第三?获取到
-
不验证通信?的身份信息,容易被伪装
-
?法证明请求头的完整性
基于HTTP存在这些缺陷,也就有了HTTPS的协议,我们可以把HTTPS可以汇总为:HTTPS=HTTP+加密+认证+完整性保护。
基于这样?层的设计,相对来说还是?较安全的,HTTPS不是全新的协议,它只是HTTP的协议基础上新增SSL和TLS。在前?中我们知道HTTP是和TCP直接通信,那么在HTTPS中,HTTP先和SSL通信,SSL再和TCP来进?通信。
端口:
http :80 https :443
SSL 443一定是本地开启了代理,需要关闭。 设置——网络——代理。
HTTP认证体系:
HTTP/1.1版本中,使用的认证方式具体为:
-
BASIC认证,也就是基本认证
-
oauth2.0
四、接口测试中,需要参考哪些信息和文档作为接口预期结果?(重点!!)
信息:
1、响应数据与协议状态码,业务状态码
2、结合具体的业务
文档:
接口文档
接口测试的对象有如下几类:
1、WEB产品或者是APP产品
2、服务(底层服务,与WEB之间没有直接的交互。关注:方法 ip地址 资源路径 端口 请求参数 )
3、open API:开放平台接口(接口文档往往是word文档)
五、Charles工具安装及使用:
1、Charles安装并破解:
选择win64安装包,一路下一步:
粘贴至Charles的安装目录下的lib目录下,会提示是否替换:
2、使用:
双击复制文本:
六、Charles想抓包HTTPS,需要做的操作是:
1、配置https的端口以及域名信息。
2、在本地安装Charles的证书,让系统授权为可信任的证书。
配置端口、域名:
安装证书:
七、弱网络的测试:
我们在平常的工作里面,使用的都是5G的网络,但是使用产品的客户是多种不同类型的网络情况,所以就需要测试下在多种不同类型网络下资源的加载耗时情况(客户端请求后服务端响应回复的响应时间)。
network中:
Charles中:
八、并发测试
右键要做测试的接口,然后选Repeat Advanced
九、使用Charles注意事项
用完Charles后要关闭代理:
proxy——SSL Proxying Settings
http://ihrm-test.itheima.net/#/login
http://tpshop-test.itheima.net/