python介面測試(一)——http請求及token獲取
使用python對當前的介面進行簡單的測試
1.介面測試是針對軟體對外提供服務得介面得輸入輸出進行得測試,驗證介面功能與介面描述文件得一致性
返回結果可以為字串,json,xml等
2.介面的請求方式:get,post,delete,put等
3.介面測試需要的元素:url,請求方式,引數(key:value)
比如“登入”:
#!/usr/bin/env python #coding:utf-8 import requests,json url="http://xxx.xxx.com/xxx/login" headers={'Content-Type':'application/json;charset=UTF-8'} request_param={ "phone":"18200000000", "password":"111111" } response=requests.post(url,data=json.dumps(request_param), headers=headers) print response.text
注:
1.get請求:引數是url,params,字典;把params的引數成為url的引數,也就是url中傳遞引數;
2.post請求:引數是url,data, json以及字典,data其實就是以表單形式的資料,或者是把一個字典給data作為引數來傳遞;
3.post請求有時需要把引數進行反序列化,即json.dumps(),將dict格式轉化為str格式;
最後響應結果:
事實上,如上圖的post請求中,登入成功後會返回一個token,然後後面的每個請求均會帶這個引數token去請求,即登入獲取token,把獲取的token帶上去請求或者操作其他業務;
實現的思路:
把登入寫成一個方法,然後把token返回,再做下一個請求的時候,把token當作引數來傳遞
另外一個請求需要引用時,可以直接將獲取的token放在header裡
headers={'Content-Type':'application/json;charset=UTF-8',
"token":login.login() }
登入成功後,返回了token,然後在執行其他介面的時候,直接把返回的token當作是引數來處理,但是有一點是必須先登入,再執行登入後的介面,要不會提示錯誤
請求時我們可以獲取不同的響應內容:
response.text 獲取響應內容,返回的時unicode資料
response.status_code 獲取的是狀態碼
response.content 獲取響應內容時bytes資料