接口測試基礎三--python完成接口調用
前面的接口測試基礎一文章有講到,一次http接口調用,包含了httprequest(http請求)和httpresponse(http響應)兩部分,要想做好接口測試,就需要對這兩部分內容進行學習,再簡單介紹下:
一、http request剖析
請求方法:即http請求的提交方式,一般以get和post居多
URI:請求自願的表示,可以理解為一個請求的路徑信息
協議:http協議
版本:1.1
請求正文:請求參數
請求頭:告訴服務器關於客戶端環境和請求正文相關的一些信息,例如瀏覽器版本,請求參數的長度。
請求頭包含:user-agent:告訴瀏覽器客戶端的相關信息;refer:告訴服務器次請求是從哪個頁面上發出來的額 x-requested-with:高速服務器這個是一個ajax請求 cookie:帶給服務器的cookie信息。
請求頭可以在代碼中指定,添加,通過鍵值對的形式,調用:addheader(請求頭參數鍵值對)
二、http response剖析
響應狀態碼:標記響應狀態的標識,例如:200-成功,404資源找不到,500服務器異常,302重定向
響應頭信息:告訴客戶端關於服務器環境和請求正文相關的一些信息,例如服務器類型,響應報文格式。
響應報文:針對請求從服務器相應回來的數據,比如 HTML,xml,json等
響應頭包含:server:告訴客戶端服務器的環境,如 Apache set-cookie:告訴瀏覽器需要緩存的cookie數據。location:告訴瀏覽器跳到哪裏 content-type:告訴瀏覽器返回的數據類型和編碼
三、python request完成接口請求
1.request安裝
安裝好python環境後,在cmd直接輸入:pip install requests 就可以安裝成功
2.request之get請求,如下所示:
2.1發送帶參數的請求
import requests
url=要訪問的地址
param={參數以鍵值對傳入}
res=requests.get(url,param)
print("請求結果是:",res.json())
2.2發送帶cookie的請求
import requests
url_1=要訪問的地址
param_1={參數以鍵值對傳入}
res_1=requests.get(url,param)
print("請求結果是:",res_1.json())
url_2=要訪問的地址
param_2={參數以鍵值對傳入}
res_2=requests.get(url_2,param_2,cookies=res_1.cookies)
print("請求結果是:",res_2.json())
2.3發送帶定制頭的請求
import requests
url_1=要訪問的地址
param_1={參數以鍵值對傳入}
headers_1={"user-agent":"Mozilla/5.0"}
res_1=requests.get(url,param=param_1,headers=headers_1)
print("請求結果是:",res_1.json())
print("請求頭是:",res_1.headers)
請求方式為post時,發送請求res=requests.post(url,params,headers)即可
接口測試基礎三--python完成接口調用