在做接口自动化过程中,我们常常会用到用户登录后进行接口测试,那么我们如何进行获取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
转载于:https://blog.51cto.com/13025170/2357193