『政善治』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 ...
随机推荐
- 使用dcmtk库读取.dcm文件并获取信息+使用OpenCV显示图像
借助VS2013和OpenCV的绘图功能,在工程DICOMReader.sln中实现了对单张.dcm图像的读取与显示,以下是详细步骤. 前期准备工作 编译器:VS2013 库:dcmtk-3.6.0( ...
- linux安装mysql8.0
linux 上安装mysql8.0 mysql版本8.0.16 MySQL Community 操作系统centos7 准备工作: mysql8.0 rpm文件 安装步骤: 1. 下载mysql的re ...
- 对象存储服务-Minio
Mino 目录 Mino 对象存储服务 Minio 参考 Minio 架构 为什么要用 Minio 存储机制 纠删码 MinIO概念 部署 单机部署: Docker 部署Minio 分布式Minio ...
- 通俗地理解面向服务的架构(SOA)以及微服务之间的关系
SOA是一种软件的应用架构方法,它基于面向对象,但又不是面向对象,整体上是面向服务的架构.SOA由精确的服务定义.松散的构件服务组成,以及业务流程调用等多个方面形成的一整套架构方法. 这话是不是听起来 ...
- Java单链表反转图文详解
Java单链表反转图文详解 最近在回顾链表反转问题中,突然有一些新的发现和收获,特此整理一下,与大家分享 背景回顾 单链表的存储结构如图: 数据域存放数据元素,指针域存放后继结点地址 我们以一条 N1 ...
- 在PHP7以上版本使用不了mysql扩展
旧程序使用了mysql扩展,而新环境却是PHP7以上版本,不支持mysql扩展,办法是将旧程序中的mysql相关内容修改为mysqli或PDO代码. 但是涉及修改的量大,那则可以包含(include ...
- Java字节流和字符流,是时候总结一下IO流了
目录 从接收输入值说起 字节流读取 字符流读取 Scanner 读取 什么是 IO 流 字节流和字符流 字节流 字节输入流 字节输出流 缓冲流的原理 字符流 字符输入流 字符输出流 为什么字符流需要 ...
- 痞子衡嵌入式:同一厂商不同系列Flash型号下Dummy Cycle设置方法可能有差异 (以IS25LP064为例)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是同一厂商不同系列Flash型号下Dummy Cycle设置方法的差异. 上一篇文章 <在i.MXRT启动头FDCB里调整Flash ...
- jQuery入门看这一篇就够了
一.选择器 1.基本 名称 用法 描述 #id $("#myDiv"); 根据给定的ID匹配一个元素 element $("div"); 根据给定的元素标签名匹 ...
- Mysql 添加 create_time, update_time 创建时间 更新时间 自动更新
# 添加 创建 更新 时间字段 ALTER TABLE `表名` ADD COLUMN `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTA ...