一.背景
在做接口测试的时候,有些接口向后台请求数据的时候,是需要用户在登录情况下才有数据返回。 以电商平台为例,用户的个人中心,用户的订单列表,用户的支付信息等等,所有用户维度的数据都是需要登录态。 本文主要是探索接口测试过程中需要登录鉴权的情况。
二.接口测试
举个例子,现在有个获取订单列表的接口,需要用户登录下才能获取到数据。 针对这种接口的测试步骤基本可以分为:抓包->postman构造请求->完成测试。
1.抓包
使用任意的抓包工具,或者简单粗暴直接浏览器F12打开调试工具抓包。
- 示例一:使用Charles抓包
找到Contents下面的Headers,可以看到请求的格式(GET),接口的域名和路径和请求参数等,以及我们需要用到的cookie信息。这些都是https请求的Headers信息。 切换到cookie,可以看到cookie里面有很多key和key对应的内容。有兴趣的可以去研究一下。 - 示例二:使用浏览器F12抓包
方法大同小异,也是查看请求的headers信息,找到cookie。
2.postman构造请求
打开postman
新建一个GET请求,输入请求URL
构造请求的Headers,按照抓包的Headers照搬过来就好
增加cookie,把抓包cookie一大段全部复制粘贴过来
万事俱备,只欠东风。点击send即可
看到http请求状态码为200,并且后台接口的返回值成功,说明OK了。
3.其他的登录鉴权方式
当然,除了上面构造请求headers的方式,postman还提供了其他的登录鉴权方式。
大家看下面的列表:
postman构造请求的时候,还有一个Authorization的模块可以选择,可以看到type中有12中鉴权方式可以选择。
看看官方文档:learning.postman.com/docs/postma…
举个最常用的例子吧:
- Basic auth:基本认证
基本身份验证涉及随请求一起发送经过验证的用户名和密码。在请求授权选项卡中,从类型下拉列表中选择基本身份验证。 在“ 用户名”和“ 密码”字段中输入您的API登录详细信息-为了提高安全性,您可以将其存储在变量中。
在请求标头中,您将看到Authorization标头将向API传递一个代表您的用户名和密码值的Base64编码的字符串,该字符串附加到文本“ Basic”中,如下所示: 其他的登录鉴权方式大家可以去看看postman的官方文档,这里就不再赘余了。
三.总结
postman是一个非常不错的接口测试工具,不管是对于测试,还是后台开发以及前端开发。
图形化,模块化,可配置化,使用起来也很直观和方便。