【接口测试实战(九)】接口测试之cookie实战

30 篇文章 14 订阅

部分前情:

《【接口测试实战(零)】接口测试简介》

《【接口测试实战(一)】搭建接口测试环境》

《【接口测试实战(二)】根据接口文档使用postman测试》

《【接口测试实战(五)】接口测试之断言实战》

《【接口测试实战(七)】postman之变量与沙盒实战》

《【接口测试实战(八)】postman之Collections和数据驱动测试实战》



1)cookie

1.1 什么是cookie?

HTTP 是无状态协议,它不对之前发生过的请求和响应的状态进行管理。也就是说,无法根据之前的状态进行本次的请求处理

  • 假设要求登录认证的 Web 页面本身无法进行状态的管理(不记录已登录的状态),那么每次跳转新页面要么需要再次登录,要么需要在每次请求报文中附加参数来管理登录状态
  • 如果让服务器管理全部客户端状态,则会增加服务器的 CPU 及内存资源的消耗。

Cookie 技术通过在请求和响应报文中写入 Cookie 信息来控制客户端的状态。Cookie 的工作机制是用户识别及状态管理。

  • 调用 Cookie 时,由于可校验 Cookie 的有效期,以及发送方的域、路径、协议等信息,所以正规发布的 Cookie 内的数据不会因来自其他Web 站点和攻击者的攻击而泄露。
  • 目前使用最广泛的 Cookie 标准却不是 RFC 中定义的任何一个,而是在网景公司制定的标准上进行扩展后的产物。

Cookie交互情景:

在这里插入图片描述

1、Cookie 会根据从服务器端发送的响应报文内的一个叫做 Set-Cookie 的首部字段信息,通知客户端保存 Cookie。

在这里插入图片描述
2、当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入 Cookie 值后发送出去。

  • 服务器端发现客户端发送过来的 Cookie 后,会去检查究竟是从哪一个客户端发来的连接请求,然后对比服务器上的记录,最后得到之前的状态信息。

报文交互过程:

1、请求报文(没有 Cookie 信息的状态)

在这里插入图片描述

2、响应报文(服务器端生成 Cookie 信息)

在这里插入图片描述

3、请求报文(自动发送保存着的 Cookie 信息)

在这里插入图片描述

1.2 postman的cookie支持

Postman操作cookie可以有两种方式:

  1. 直接在头域中添加cookie头域(适用于已知请求时的cookie头域的情况)。
  2. 使用Postman的cookie管理机制,既可以手动添加,同时postman也会将操作流程中获取的参数自动保存,从而可以通过调用前置接口来完成cookie获取(静态获取的时候,可以直接通过 MANAGE COOKIES来自动提取)。

postman测试时,除了静态分析填写Cookie,遇到Cookie频繁变化的常见,需要动态获取Cookie,可以通过变量的方式获取和传递。

  • 这部分暂时还没研究,具体可参考:https://www.pianshen.com/article/25891441331/

2)实战:电商接口测试

在登陆接口完成登录之后,通过购物车接口获取购物车中的信息,此时购物车接口需要使用登录后的cookie以保持登录状态

  • 登录接口:http://www.testingedu.com.cn:8000/index.php?m=Home&c=User&a=do_login&t=0.5404187243051779
    • POST
    • body需要填写username、password和verify_id
  • 购物车接口:http://www.testingedu.com.cn:8000/index.php?m=Home&c=Cart&a=header_cart_list

2.1 手动添加cookie的方式

手动登录时抓包可以看到购物车接口:
在这里插入图片描述

  • 方式1:通过在Headers直接把cookie复制进去,即可获取购物车的内容:
    在这里插入图片描述

  • 方式2:通过cookie管理机制添加cookie:

    cookie的参数可以在抓包中看到:

    在这里插入图片描述
    在postman中的cookie里添加对应的参数:

    在这里插入图片描述

2.2 先调用登录接口,然后让postman自动添加cookie的方式

先用POST进行登录:
在这里插入图片描述
然后可以看到cookie中已经自动添加了对应的cookie,此时调用查看购物车内容的接口,可以得到预期返回值:

在这里插入图片描述

可以用collections按顺序进行测试,结果如下:

在这里插入图片描述



【部分内容参考自】

  • 《图解HTTP》
  • 电商接口来源:软件测试-Postman接口测试实战从入门到精通【特斯汀学院】
  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值