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是一个非常不错的接口测试工具,不管是对于测试,还是后台开发以及前端开发。

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

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

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

相关推荐
程序员龙叔4 天前
编写高质量 Skill 系列 -- 如何设计需求分析与用例生成的 SKILL
自动化测试·软件测试·python·软件测试工程师·接口测试·性能测试·skill·ai测试
goldenrolan4 天前
A公司物料替代测试系统 v1.7:从需求到 exe/apk 的 AI 辅助全链路实践
android·自动化测试·软件测试·python·ai
dayuOK63074 天前
写作卡壳怎么办?我的“5分钟启动法”
人工智能·职场和发展·自动化·新媒体运营·媒体
枫子有风4 天前
LLM-Agent智能体(大厂面试常问)
面试·职场和发展·llm·agent
Raina测试4 天前
欢迎来到《Raina 测试学习指南》博客✨ | Raina测试学习指南
软件测试·ai测试
重生之后端学习4 天前
Java入门
java·开发语言·职场和发展
AIHR数智引擎4 天前
KPI物理失效:AI原生组织的效能重构与技能度量
人工智能·经验分享·职场和发展·重构·ai-native·aihr
想吃火锅10055 天前
【leetcode】121.买卖股票的最佳时机js/c++
算法·leetcode·职场和发展
程序员小远5 天前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
goldenrolan5 天前
学习型红外控制系统稳定性挂测工装专项总结
软件测试·python·stm32·嵌入式·红外