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

    代码演示

  • 相关阅读:
    【leetcode】1630. Arithmetic Subarrays
    【leetcode】1629. Slowest Key
    【leetcode】1624. Largest Substring Between Two Equal Characters
    【leetcode】1620. Coordinate With Maximum Network Quality
    【leetcode】1619. Mean of Array After Removing Some Elements
    【leetcode】1609. Even Odd Tree
    【leetcode】1608. Special Array With X Elements Greater Than or Equal X
    【leetcode】1603. Design Parking System
    【leetcode】1598. Crawler Log Folder
    Java基础加强总结(三)——代理(Proxy)Java实现Ip代理池
  • 原文地址:https://www.cnblogs.com/temari/p/13502914.html
Copyright © 2011-2022 走看看