使用Python接口自動化測試post請求和get請求,獲取請求返回值


引言
我們在做python接口自動化測試時,接口的請求方法有get,post等;get和post請求傳參,和獲取接口響應數據的方法;

請求接口為Post時,傳參方法
我們在使用python中requests庫做接口測試時,在做post接口測試傳參的時候,需要傳入請求體,我們把請求體定義成一個字典類型含有key和value的值,如下

然后請求的時候,會把data賦值給post請求,然而這樣是錯誤的,data的數據類型為dict,接口請求的數據類型為字符串,只不過是json格式的字符串,但是本質是字符串是不會改變的,如下圖,直接使用data參數會提示傳參失敗,沒有請求體;

一般情況下,使用request傳參時,會傳入data或者json,什么情況下傳data或者json,我們在接口文檔或者系統接口請求時查看它的Content-Type的類型,如下圖我們查看登錄接口為:application/json,為json格式,則使用json參數

方法一:通過json.dunps(body)轉化成json格式的字符串,然后傳遞給data;

方法二:在傳參時直接格式化成json格式傳參:

 

 

如果content-type為application/x-www-form-urlencoded,為表單格式,則使用data參數

 

 獲取接口請求響應數據

我們在使用python接口測試過程中往往會對一個請求接口獲取返回值。來進行斷言或者傳入其他接口 使用,下面我們來看獲取返回結果的幾種方法;


request 接口請求時,不對數據做處理時,返回數據為requests.models.Response,無法獲取到返回值

此時我們需要對返回數據做處理,如下;
response.text # 響應文本數據(字符串)

response.status_code # 響應的狀態碼,測試時可以用來做接口的斷言

response.json() # 返回的數據類型變成了dict,這樣就方便我們按照字典的操作去拿數據

 

 

通過字典的方法去獲取響應數據,不需要進行轉化,比較方便

response.content # 響應返回的內容(二進制),一般用來獲取返回數據為文件,圖片,或者爬取視頻

response.cookies # 獲取返回的cookies信息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM