在做接口自動化過程中,我們常常會用到用戶登錄后進行接口測試,那么我們?nèi)绾芜M行獲取header中的session呢。我們現(xiàn)在看一下以下代碼:
def session(DATA):
#通過配置文件獲得url地址,也可以寫死在這里
Url = ConnUrl.getUrl()
#聲明request的請求類型,是json還是text
header = {'content-type':'application/octet-stream'}
#發(fā)送登陸請求
post = requests.post(Url, data=DATA, headers=header)
#通過post方法中的headers獲取session,并且按照“分號進行切割,取第一位的數(shù)據(jù)”
jsessionid = post.headers['Set-Cookie'].split(';')[0]
#返回session
return jsessionid
#關(guān)閉鏈接
post.close
大家看,其實我們通過python的requests方法就可以很輕松的獲得用戶的session,在測試其他接口時,我們把session插入到header里即可,如下:
def posttest(jsessionid)
#定義接口的請求地址
url=http://IP/login
#測試數(shù)據(jù)要用字典的方式定義
data={'參數(shù)1':'測試數(shù)據(jù)1','參數(shù)2':'測試數(shù)據(jù)2'}
#定義header關(guān)鍵內(nèi)容,header依然是字典的方式
header={
'content-type':'application/json',
'session':jsessionid
}
#發(fā)送請求
post = requests.post(Url, data=DATA, headers=header)
#獲取響應結(jié)果中的文本
respond = post.text
#斷言相應結(jié)果是否與預期結(jié)果想一致
assert '預期結(jié)果' in respond
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。