requests接口测试-cookies

本文内容皆为作者原创,码字不易,如需转载,请注明出处:https://www.cnblogs.com/temari/p/13502914.html

一,cookies

cookies是服务器根据每个用户生成的临时身份证,是客户端向服务器辨明身份的一种,此外还有token,sign签名。当用户在网页中操作修改或者添加,向服务器提交请求时,需要携带用户的cookies信息。

二,cookie应用

我们在进行UI测试的时候,通过添加cookies,可以绕过登录的验证码,类似记住密码,默认登录状态。在进行接口测试的时候我们通过报文头添加cookies,可以避开权限校验的问题。

三,添加cookies举例

通常,对于网站的某一些菜单,只有登录后才允许操作,我们在进行UI测试的时候,可以在前台页面验证权限的功能,简单的校验,一般前端人员负责开发。但是如果有人通过后台调用接口进行修改/添加,后台接口中也要添加相应的权限校验,否则会产生数据安全性的问题。而接口校验往往是后端开发人员关注的,开发有可能忽略权限的校验。

3.1 打开chrome浏览器,登录超级鹰网站,按F12。点击超级鹰首页>用户中心>ip名单,输入ip白名单,点击【提交】按钮,如图:

3.2 返回到DevTools界面,点击【Network】,找到对应的请求记录,查看请求信息,获取请求URL,请求参数和cookies信息,如图:

3.3 编辑代码,添加cookies

"""
接口名称:超级鹰网站ip名单添加接口
目标:添加cookies避开登录权限问题
接口URL:http://www.chaojiying.com/user/ips/
请求方法:post
请求参数:ips1,ips2,act
"""
import requests
#ip名单增加接口
url="http://www.chaojiying.com/user/ips/"
data={
   'ips1': '192.172.68.1',
   'ips2':'',
   'act':''
}
#添加cookies
cookies={
    'PHPSESSID':'rlj4r3j1csc5k9g4n29jrfd6nb'
}
#发送请求,添加cookies
r=requests.post(url=url,data=data,cookies=cookies)
print(r.encoding)
#打印状态码
print(r.status_code)
print(r.headers)

备注:如果不添加cookies,直接提交成功,就是一个bug。有些网站安全性差一些,权限校验不完善,不添加cookies也可以操作成功。我们在测试工作中要注意权限校验的测试,尤其是安全性要求高的系统,更要重视。

代码演示

posted @ 2020-08-14 16:24  柠檬草不孤单  阅读(374)  评论(0编辑  收藏  举报