背景作为一个Web工程师,最熟悉的日常工作莫过于后台接口开发与联调测试,而在接口测试上,大家最喜爱的工具清单里,必然少不了 Postman 这一利器。然而,有时接口测试需要准备好登录态,或者其他状态数据,而这些数据往往就存在浏览器 Cookie 里边。结合本文介绍的工具,便可以无缝在 Postman Chrome app (为什么强调是 Postman Chrome app,文章末尾会说明)和 Chrome 浏览器之间共享 Cookie,而这个共享过程对用户是透明的。工具清单以下工具请自行安装,我只贴下官方的软件界面截图。Chrome 浏览器Postman Chrome appPostman Interceptor使用步骤以下我们以 Github 网站为例,演示下如何实现 Cookie 共享。一、确认 Postman Interceptor 插件安装成功(如图所示)二、启动 Postman,在右上角的卫星小图标那里开启 Chrome Interceptor三、在 Chrome 浏览器里正常登陆 GitHub 网站(此步骤没什么好演示的 ╭(╯^╰)╮)四、在 Postman Chrome app 中直接模拟请求通知接口接口路径:https://github.com/notificati…也就是说,这个时候,我们虽然没有对 Postman 做特殊的 Cookie 设置,但是它的请求的登录态都被服务器验证通过了,cookie 共享成功!假如这个时候退出浏览器的登录态呢?我们先从 GitHub 退出登录,还是刚才的请求,这个时候的响应是:是的,因为 Chrome 里已经退出登录,所以 Postman 这边也自然失去登录态了,说明两边 Cookie 是同步的。Postman Interceptor 的 BonusPostman Interceptor 还有一点比较爽的是,它的 Request Capture 支持捕捉 Chrome 浏览器里的请求记录,并且自动同步到 Postman Chrome app 里边,这样的话,我们就可以方便直接在 Postman 里获取到我们需要测试的网络请求,而不是一个一个自己填写参数之类的了。缺陷遗憾的是,按照官方说明,现在 Postman Interceptor 的这个Cookie 共享还不能支持独立安装的桌面版(从官方下载而不是从 Chrome 应用市场下载)的 Postman Desktop,所以,如果你希望使用上述功能,你只能安装回 Postman Chrome app,而这个版本相对桌面版,功能自然也会少。Note: Interceptor feature is supported only in our Postman Chrome Apps and is not available in Postman Desktop Apps at the moment.另一方面,考虑到 Chrome 浏览器将会在不久的将来停掉 Chrome apps 的支持,可能这个方案也撑不了太久。如果你真心希望 Postman 将上述功能加到他们的桌面版里,可以到他们的官方GitHub issues去请愿,他们正在收集大家的意见。但是……这个请愿帖已经两年多了,而就在我表达请求之前的几个小时到几天之前,都有人陆续去请愿,所以也不知道会不会真的如愿了。总结对于确实需要获取网站 cookie 才能完成接口测试的场景,上述方法有一定的便利性,也才有必要使用我的方法,其他场景的接口测试,你们就无视我吧。参考链接Postman: Using the Interceptor to read and write cookiesPostman Help Center: How do I access Chrome’s cookies in Postman’s Chrome App?Postman Learning Center: Interceptor extensionGoogle is phasing out Chrome apps for Mac and Windows