『政善治』Postman工具 — 10、Postman中对Cookie的操作
在接口测试中,某些接口的调用,需要带入已有Cookie,比如有些接口需要登陆后才能访问。
Postman接口请求使用Cookie有如下两种方式:
1、直接在头域中添加Cookie头域,适用于已经知道请求所用Cookie数据的情况。
2、使用Postman的Cookie管理机制,既可以手动添加,同时Postman也会将操作流程中获取的参数自动保存,因此可以通过调用前置接口来完成Cookie获取。(就是在Pre-request Script发送一次登陆请求)
下面我们以一个电商项目为例,使用电商项目进行测试,在登录接口完成登录之后,通过购物车接口获取购物车中的信息。
提示:要获取购物车接口中的信息,需要使用登录后的Cookie保持登录状态。
- 电商首页:http://www.testingedu.com.cn:8000/
- 登录页面:http://www.testingedu.com.cn:8000/index.php/Home/user/login.html
- 购物车页面:http://www.testingedu.com.cn:8000/index.php/Home/Cart/index.html
- 登陆调用接口:http://www.testingedu.com.cn:8000/index.php?m=Home&c=User&a=do_login&t=0.3508523582926
- 查看购物车调用接口:http://www.testingedu.com.cn:8000/index.php?m=Home&c=Cart&a=header_cart_list
1、往常的Cookie处理方式
我们可以通过Fiddler工具在一个网站上抓取我们需要URL。
如果是设计到Cookie、Session的接口,我们需要保持网站在网页的登陆状态。
步骤1:我们直接调用查看购物车接口。

可以看到我们在未登录的状态下,无法查看购物车中的信息。
因为我们在这一次请求接口的时候,并没有提交登陆之后的Cookie信息。
步骤2:我们进行登陆,再查看购物车。
我们先进行登陆,然后再查看购物车,我们抓取查看购物车的接口,如下图:
Cookie信息在进行接口访问携带的时候,通常在请求头(Request Headers)的Cookie属性中。

步骤3:把上面的Cookie复制,填写在Postman的查看购物车请求中。
之后我们再次发送请求,如下图:

这就是我们在Postman中第一种处理Cookie的方式。
提示:这种方式处理Cookie,是基于该Cookie能够保留一段时间,也就是该Cookie在一段时间内是有效的。
如果在浏览器中,做登出操作,该Cookie的信息也会失效,访问购物车接口还是无法查看购物车中的信息。
2、Postman中的Cookie管理机制
Postman中自身也提供了Cookies的管理机制,会自动帮助我们保存响应Cookie的记录。
步骤1:创建登陆网站的请求,并查看Cookies管理。
创建登陆网站的请求,如下图:

提示:还有一个验证码属性
verify_code,可以不添加该属性。也可以添加,赋值1即可。(那说明验证码是一个前台校验,网站登陆的时候,验证码填1也是可以登陆的。)
查看Postman中Cookies管理,很简单,就是在请求的编辑页面中,在Send按钮的下方有一个Cookies,点击即可。如下图:

我们可以看到,之前访问过百度的一些Cookie内容都保存在里边了。
步骤2:点击发送登陆请求,再次查看Cookies管理。
发送请求,如下图:

我们再次查看Cookies管理的内容。

步骤3:我们再次发送查看购物车接口。
看看是否能够查看到购物车中的内容,看下图:

总结:
Postman中关于的Cookie管理:
我们访问过的网站,相关的Cookie信息,Postman会自动的帮我们进行保存。
比如我们进行过登陆操作,在访问之后的操作,后续的接口就会自动携带Cookie管理中的信息进行访问了。(只能保持一段时间内有效)
这时候我们用测试集的Run按顺序执行这两个接口就非常的方便了。
3、自定义Cookie管理内容
还是以查询购物车内容为例:
步骤1:查看Cookie管理内容。

步骤2:填写服务器域名来新建Cookie。
也就是网站的名称,是你自定义保存Cookie对应的网站的名称。

点击Add按钮进行添加,如下图:

步骤3:点击Add Cookie添加Cookie内容。
只修改目标中的Cookie_1=value;部分,其他默认即可。

点击Save保存。
Cookie模板内容说明:
Cookie_1=value; # Cookie的内容
Path=/; # 表示哪些路径下的文件有权限读取该 cookie
Domain=.www.testingedu.com.cn; # 网站域名
Expires=Sun, 20 Feb 2022 07:11:54 GMT; # 过期时间
说明:
因为访问网站时候会保存到客户端很多的Cookie信息,在访问其他接口的时候,只带相关的Cookie就可以,不用带所有的Cookie访问。
例如关于登陆授权的Cookie信息就是
PHPSESSID,我们只保存这一条Cookie即可。(关于登陆权限的Cookie信息,一般都叫
sessionID这样类似的名称。)(如果接口文档中写的详细,都可以在接口文档中找到,一般不可能。)
步骤4:访问查询购物车接口。
我们可以看到请求头中没有Cookie信息,依然能够获得购物车中的内容。

以上就是Postman中关于Cookie的基础操作。
『政善治』Postman工具 — 10、Postman中对Cookie的操作的更多相关文章
- 『政善治』Postman工具 — 1、Postman介绍与安装
目录 一.Postman介绍 二.Postman下载与安装 1.Postman下载 2.Postman安装 3.为什么要注册Postman账号 一.Postman介绍 Postman是一款非常流行的H ...
- 『政善治』Postman工具 — 2、Postman主界面详细介绍
目录 1.Postman菜单栏 (1)File 菜单 (2)Edit 菜单 (3)View 菜单 (4)Help 菜单 2.Postman工具栏 3.Postman工具栏中的系统设置 4.Postma ...
- 『政善治』Postman工具 — 7、Postman中保存请求(Collections集合)
目录 1.创建Collection 2.保存Request请求 3.查看保存的请求 4.Collection下还可以创建文件夹 5.补充:Postman中的变量 6.总结 1.创建Collection ...
- 『政善治』Postman工具 — 8、Postman中Pre-request Script的使用
目录 1.Pre-request Script介绍 2.常用SNIPPETS(片段)说明 (1)获取变量脚本: (2)设置变量脚本: (3)清空变量脚本: (4)Send a request代码片段 ...
- 『政善治』Postman工具 — 11、Postman中对Cookie的操作
目录 1.关联接口说明 2.测试关联接口实现步骤 3.补充:Postman中将请求转换成代码 上一篇文章说明了Postman中关于Cookie的相关操作,还是以Cookie举例,来说明下一在Postm ...
- 『政善治』Postman工具 — 13、Postman接口测试综合练习
目录 (一)项目接口文档 1.鉴权接口 2.注册接口 3.登录接口 4.用户信息接口 5.注销接口 (二)网站上手动验证 (三)Postman测试实现 1.准备工作 (1)创建一个Collection ...
- 『政善治』Postman工具 — 9、在Postman中使用断言
目录 1.Tests的介绍 2.常用SNIPPETS(片段)说明 (1)常用变量相关 (2)状态码相关 (3)响应结果断言: (4)Header : (5)响应速度: 3.示例 (1)响应码断言 (2 ...
- 『政善治』Postman工具 — 12、Postman中实现数据驱动
目录 1.什么是数据驱动? 2.测试集说明 3.创建请求与准备数据文件 (1)新增学院结果文档内容如下 (2)编写数据文件 (3)在Postman中创建请求 4.实现Postman中的数据驱动 步骤1 ...
- 『政善治』Postman工具 — 14、NewMan工具的使用详解
目录 1.NewMan工具的介绍 2.NewMan的安装 (1)安装 (2)验证NewMan环境: (3)NewMan卸载命令 3.NewMan执行Postman测试集 (1)导出collection ...
随机推荐
- beego 框架用的页面样式模板
https://themequarry.com/category/free 页面样式
- 涂鸦基于OAuth2在开发者平台上的探索与实践
前言 开发授权(OAuth2)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资料(如照片.视频.联系人列表),而无需将用户名和密码提供给第三方应用. OAuth2允许用户提供一 ...
- 攻防世界 reverse easy_Maze
easy_Maze 从题目可得知是简单的迷宫问题 int __cdecl main(int argc, const char **argv, const char **envp) { __int64 ...
- 一次VLAN标签引发的网络事件的处置
一次VLAN标签引发的网络事件的处置 一.背景介绍 事件背景: HZ某分公司新装一套业务系统,通过一条专线和BJ总公司连通.分配给HZ公司的ip地址为:a.b.c.X,掩码24位,网关a.b.c.1. ...
- 在Windows下配置Linux远程开发环境
在Windows下配置Linux远程开发环境 欢迎光临我的个人博客 https://source.chens.life/Configure-Linux-remote-development-envir ...
- java 基础知识储备
初始JAVA JAVA 帝国的诞生 1972年C诞生 贴近硬件,运行极快,效率极高. 操作系统,编译器,数据库,网络系统等 指针和内存管理 1982年C++诞生 面向对象 兼容C 图形领域.游戏等 纵 ...
- [源码解析] 分布式任务队列 Celery 之启动 Consumer
[源码解析] 分布式任务队列 Celery 之启动 Consumer 目录 [源码解析] 分布式任务队列 Celery 之启动 Consumer 0x00 摘要 0x01 综述 1.1 kombu.c ...
- 「HTML+CSS」--自定义加载动画【009】
前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...
- Spring(七)SpringMVC的文件上传
1-SpringMVC的请求-文件上传-客户端表单实现(应用) 表单项type="file" 表单的提交方式是post 表单的enctype属性是多部分表单形式,及enctype= ...
- OkHttp:NoClassDefFoundError
1 问题描述 使用OkHttp时报错: Caused by: java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics at okh ...