溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

通過python獲得header中的session

發(fā)布時(shí)間:2020-06-09 04:45:48 來(lái)源:網(wǎng)絡(luò) 閱讀:1683 作者:大寶bj 欄目:編程語(yǔ)言

在做接口自動(dòng)化過程中,我們常常會(huì)用到用戶登錄后進(jìn)行接口測(cè)試,那么我們?nèi)绾芜M(jìn)行獲取header中的session呢。我們現(xiàn)在看一下以下代碼:
def session(DATA):
#通過配置文件獲得url地址,也可以寫死在這里
Url = ConnUrl.getUrl()
#聲明request的請(qǐng)求類型,是json還是text
header = {'content-type':'application/octet-stream'}
#發(fā)送登陸請(qǐng)求
post = requests.post(Url, data=DATA, headers=header)
#通過post方法中的headers獲取session,并且按照“分號(hào)進(jìn)行切割,取第一位的數(shù)據(jù)”
jsessionid = post.headers['Set-Cookie'].split(';')[0]
#返回session
return jsessionid
#關(guān)閉鏈接
post.close
大家看,其實(shí)我們通過python的requests方法就可以很輕松的獲得用戶的session,在測(cè)試其他接口時(shí),我們把session插入到header里即可,如下:
def posttest(jsessionid)
#定義接口的請(qǐng)求地址
url=http://IP/login
#測(cè)試數(shù)據(jù)要用字典的方式定義
data={'參數(shù)1':'測(cè)試數(shù)據(jù)1','參數(shù)2':'測(cè)試數(shù)據(jù)2'}
#定義header關(guān)鍵內(nèi)容,header依然是字典的方式
header={
'content-type':'application/json',
'session':jsessionid
}
#發(fā)送請(qǐng)求
post = requests.post(Url, data=DATA, headers=header)
#獲取響應(yīng)結(jié)果中的文本
respond = post.text
#斷言相應(yīng)結(jié)果是否與預(yù)期結(jié)果想一致
assert '預(yù)期結(jié)果' in respond

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI