通过python获得header中的se

发布时间:2019-07-23 09:41:52编辑:auto阅读(1136)

    在做接口自动化过程中,我们常常会用到用户登录后进行接口测试,那么我们如何进行获取header中的session呢。我们现在看一下以下代码:
    def session(DATA):
    #通过配置文件获得url地址,也可以写死在这里
    Url = ConnUrl.getUrl()
    #声明request的请求类型,是json还是text
    header = {'content-type':'application/octet-stream'}
    #发送登陆请求
    post = requests.post(Url, data=DATA, headers=header)
    #通过post方法中的headers获取session,并且按照“分号进行切割,取第一位的数据”
    jsessionid = post.headers['Set-Cookie'].split(';')[0]
    #返回session
    return jsessionid
    #关闭链接
    post.close
    大家看,其实我们通过python的requests方法就可以很轻松的获得用户的session,在测试其他接口时,我们把session插入到header里即可,如下:
    def posttest(jsessionid)
    #定义接口的请求地址
    url=http://IP/login
    #测试数据要用字典的方式定义
    data={'参数1':'测试数据1','参数2':'测试数据2'}
    #定义header关键内容,header依然是字典的方式
    header={
    'content-type':'application/json',
    'session':jsessionid
    }
    #发送请求
    post = requests.post(Url, data=DATA, headers=header)
    #获取响应结果中的文本
    respond = post.text
    #断言相应结果是否与预期结果想一致
    assert '预期结果' in respond

关键字