zoukankan      html  css  js  c++  java
  • 接口测试提取csrf_token和session

    在接口测试过程中,有时在登录接口或其他一些接口会有csrf_token请求参数的校验,但是获取可能不是那么简单,

    本人在postman和jmeter中尝试找到了响应的方法,特在此进行分享,请见者多多交流指教!

    一、Jmerter中获取csrf_token和session

    1、Jmeter中如果要获取response headers的session,也可以通过正则提取器。

    2、在Jmeter中比较简单,通过添加一个正则表达式提取器,然后用正则表达式进行匹配获取,后续接口就通过变量引用来调用。设置如下图:

    二、Postman中获取csrf_token和session

      在Tests面板中编写脚本即可。

      

      jemter中获取session,如下:

      

    //1、postman获取RequestHeader的cookie
        var cookie = pm.request.headers.get("cookie");//从请求头中获取数据
        pm.environment.set("cookie",cookie);//设置为环境变量
    //2、postman获取ResponseHeader的cookie,并设置为环境变量
      //var cookie = postman.getResponseHeader("cookie");
      //pm.environment.set("cookie",value);
    //需要分割取部分值时用以下方式用spilt方法将其分割成数组
      //data = jsondata.split(";");
      //console.log(data[0])

    补充:

    在纯python的代码框架中测试,可以通过以下方式获取:(此方法比较笨,但我暂时只知道这方法,需要但没别的办法将就用,哈哈)

    base_url="http://192.168.31.13:8080" #访问的url
    
    def getclassify():
        r=requests.get(base_url+'/login') #进行get请求
        str = r.text              #获取返回值的文本内容        
        csrf_token= str[281:317]        #文本内容通过string的下标方式进行获取
        return csrf_token             #返回内容

     参考链接:

      1、https://blog.csdn.net/lion19930924/article/details/51189210

      2、https://blog.csdn.net/weixin_42541360/article/details/89393100

      3、https://blog.csdn.net/hhy_123963/article/details/88567948

  • 相关阅读:
    如果int x=20, y=5,则语句System.out.println(x+y +""+(x+y)+y); 的输出结果是()
    子父类存在同名成员时super的使用条件
    7mysql高级查询
    1udp编程
    6mysql外键
    4mysql数据表增删改查
    5mysql数据类型
    3mysql数据库操作
    2mysql基本使用
    1mysql安装
  • 原文地址:https://www.cnblogs.com/fxcity/p/11056251.html
Copyright © 2011-2022 走看看