postman登录鉴权之接口测试

一.背景

在做接口测试的时候,有些接口向后台请求数据的时候,是需要用户在登录情况下才有数据返回。 以电商平台为例,用户的个人中心,用户的订单列表,用户的支付信息等等,所有用户维度的数据都是需要登录态。 本文主要是探索接口测试过程中需要登录鉴权的情况。

二.接口测试

举个例子,现在有个获取订单列表的接口,需要用户登录下才能获取到数据。 针对这种接口的测试步骤基本可以分为:抓包->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是一个非常不错的接口测试工具,不管是对于测试,还是后台开发以及前端开发。

图形化,模块化,可配置化,使用起来也很直观和方便。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
凯瑟琳.奥古斯特16 分钟前
高阶子查询题目精炼
开发语言·数据库·python·职场和发展·数据库开发
凯瑟琳.奥古斯特2 小时前
数据库原理选择题精选
数据库·python·职场和发展
秦明月135 小时前
水冷板装配安全回路设计实战解析
经验分享·其他·职场和发展·创业创新·学习方法
郝学胜-神的一滴6 小时前
干货版《算法导论》07:递归视角下的选择排序与归并排序
java·数据结构·c++·python·程序人生·算法·排序算法
x_xbx7 小时前
LeetCode:5. 最长回文子串
算法·leetcode·职场和发展
川石课堂软件测试10 小时前
使用mock进行接口测试教程
数据库·python·功能测试·测试工具·华为·单元测试·appium
郝学胜-神的一滴11 小时前
Qt 高级开发 019:从零定制登录窗口按钮、Logo 样式与交互悬浮效果
开发语言·c++·qt·程序人生·交互·用户界面
过期动态12 小时前
【LeetCode 热题 100】无重复字符的最长子串
java·数据结构·spring boot·算法·leetcode·职场和发展
Raink老师13 小时前
【AI面试临阵磨枪-088】Skill 如何做参数校验、依赖注入、权限控制、超时、重试、幂等?
人工智能·面试·职场和发展
浅念-13 小时前
LeetCode 记忆化搜索 刷题总结
数据结构·算法·leetcode·职场和发展·深度优先·dfs