zoukankan      html  css  js  c++  java
  • 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也可以操作成功。我们在测试工作中要注意权限校验的测试,尤其是安全性要求高的系统,更要重视。

    代码演示

  • 相关阅读:
    网络七层模型
    datagaridview添加序号
    sqlserver查询数据库所有字段和表的关系
    Code Project精彩系列转
    操作不同线程中的控件
    PetaPoco数据读写并发时出错
    浮点型float数据强制转换成int整型
    PetaPoco微型ORM的使用错误记录
    EF出现基础提供程序在 Open 上失败
    Python中random模块
  • 原文地址:https://www.cnblogs.com/temari/p/13502914.html
Copyright © 2011-2022 走看看