PHP非同步高併發擴充套件Swoole
阿新 • • 發佈:2022-05-03
Requests 是一個優雅而簡單的 Python HTTP 庫,其實 Python 內建了用於訪問網路的資源模組,比如urllib,但是它遠不如 Requests 簡單優雅,而且缺少了許多實用功能。所以,更推薦掌握 Requests 介面測試實戰技能,這也是網際網路大廠流行的介面測試利器。
下面從安裝 Requests 庫開始,一步步掌握介面請求構造、介面請求斷言、Schema 斷言、Json/XML 請求、測試用例除錯、HeadCookie 處理、Jsonpath 應用、認證體系等介面測試實戰技能。
pip 命令安裝 Requests。
Requests 官方文件:
https://2.python-requests.org/en/master/
接下來就會使用最流行的 Requests 進行介面測試。
Requests 提供了幾乎所有的 HTTP 請求構造方法,以及通過傳入引數的方法,對傳送的請求進行定製化的配置,可以用來應對各種不同的請求場景。
傳送 get 請求:
在請求中新增 data 引數,併發送 post 請求:
在請求中新增 data 引數,併發送 put 請求:
傳送 delete 請求:
傳送 head 請求:
傳送 options 請求:
也可以直接使用 request 函式,傳入不同的 method,例如使用這個方法傳送 get 請求:
下面的引數都是非必須引數,但是如果需要對請求做額外的定製化,則需要掌握以下這些引數的作用。 更多技術文章
下面從安裝 Requests 庫開始,一步步掌握介面請求構造、介面請求斷言、Schema 斷言、Json/XML 請求、測試用例除錯、HeadCookie 處理、Jsonpath 應用、認證體系等介面測試實戰技能。
pip 命令安裝 Requests。
Requests 官方文件:
https://2.python-requests.org/en/master/
接下來就會使用最流行的 Requests 進行介面測試。
Requests 提供了幾乎所有的 HTTP 請求構造方法,以及通過傳入引數的方法,對傳送的請求進行定製化的配置,可以用來應對各種不同的請求場景。
傳送 get 請求:
在請求中新增 data 引數,併發送 post 請求:
在請求中新增 data 引數,併發送 put 請求:
傳送 delete 請求:
傳送 head 請求:
傳送 options 請求:
也可以直接使用 request 函式,傳入不同的 method,例如使用這個方法傳送 get 請求:
下面的引數都是非必須引數,但是如果需要對請求做額外的定製化,則需要掌握以下這些引數的作用。
-
header 引數
通過傳入 dict 定製請求頭: -
data 引數
傳送編碼為表單形式的資料單: -
files 引數
上傳檔案,dict 格式。
注意:建議用二進位制模式(binary mode)開啟檔案。這是因為 Requests 可能會試圖為你提供 Content-Length header,在它這樣做的時候,這個值會被設為檔案的位元組數(bytes)。如果用文字模式(text mode)開啟檔案,就可能會發生錯誤。 -
timeout引數
設定超時時間(秒),到達這個時間之後會停止等待響應:
注意:timeout 僅對連線過程有效,與響應體的下載無關。timeout 並不是整個下載響應的時間限制,而是如果伺服器在 timeout 秒內沒有應答,將會引發一個異常(更精確地說,是在 timeout 秒內沒有從基礎套接字上接收到任何位元組的資料時),如果不設定 timeout,將一直等待。 -
allow_redirects 引數
控制是否啟用重定向,bool 型別,選擇 True 為啟用,選擇 False 為禁用。 -
proxies引數
設定代理,dict 格式,key 值為選擇的協議,可以分別設定 HTTP 請求和 HTTPS 請求的代理。 -
verify 引數
可以傳入 bool 值或者 string,預設為 True。如果設定為 False 的即為忽略對 SSL 證書的驗證;反之就是需要做驗證;如果傳入值為 string 的話,代表指定本地的證書作為客戶端證書。
從本地傳入證書:
忽略對SSL證書的驗證: