在做介面測試中,我們可以通過python中的requests庫來完成向第三方傳送http請求的場景,也可以作為介面測試用例執行的一種方式。基於此我們需要來研究下requests庫的功能
中文參考文件:
requests屬於第三方庫可以通過pip命令進行安裝
pip install requests
1.傳送請求
import requests#get請求
response=requests.get('')
print(response) #輸出伺服器返回碼
#post請求
response_1=requests.get('')
print(response_1)
requests.put(「 # put請求
requests.delete(「 # delete請求
2.引數傳遞 3.響應內容
r.encoding #獲取當前的編碼
r.encoding = '
utf-8'#
設定編碼
r.text #
以encoding解析返回內容。字串方式的響應體,會自動根據響應頭部的字元編碼進行解碼。
r.content #
以位元組形式(二進位制)返回。位元組方式的響應體,會自動為你解碼 gzip 和 deflate 壓縮。
r.headers
#以字典物件儲存伺服器響應頭,但是這個字典比較特殊,字典鍵不區分大小寫,若鍵不存在則返回none
r.status_code
#響應狀態碼
r.raw #
返回原始響應體,也就是 urllib 的 response 物件,使用 r.raw.read()
r.ok #
檢視r.ok的布林值便可以知道是否登陸成功
#*特殊方法*#
r.json() #
requests中內建的json解碼器,以json形式返回,前提返回的內容確保是json格式的,不然解析出錯會拋異常
r.raise_for_status() #
失敗請求(非200響應)丟擲異常
4.定製頭和cookie資訊
header =cookie =
r = requests.get/post('
your url
',headers=header,cookies=cookie)
data =
headers =
r = requests.post('
', data=data, headers=headers)
print(r.text)
5.上傳檔案
requests.post(url=url, headers=headers, data=params, files=files)引數說明:
url:請求url位址
headers:請求頭
data:傳送編碼為表單形式的資料
files:上傳的檔案,如:
files =
引數說明:
1.report.png:檔名
2.open('report.png', 'rb'):檔案內容
3.image/png:檔案型別
# coding:utf-8import requests
# 請求url
url = ""
# 請求頭
headers =
# 查詢字串
params =
# 檔案
files =
r = requests.post(url=url, data=params, headers=headers, files=files)
print r.status_code # 獲取響應狀態碼
print r.content # 獲取響應訊息
if __name__ == "__main__":
pass
Python requests介面自動化模組劃分
之前不管是接觸ui自動化還是介面自動化,對於這個專案的層級結構沒有啥概念,就知道建立乙個檔案去寫。後來慢慢懂了分層的思想,然後去觀察別人建立的層級,發現確實都是大同小異的。就以python requests介面自動化來說一下如何建立這些模組 為什麼要這樣去建立。1 config python pac...
Python Requests 學習筆記
一直想用 python 做點網路相關的東西,找了下,發現了 requests 庫,現記錄下學習筆記。requests 是什麼 requests 入門 requests 提高 首先,requests 是什麼。requests是乙個封裝了 http 操作和請求的庫,可以很方便的抓取網頁的內容,囧,這個是...
python requests傳送json格式資料
requests是常用的請求庫,不管是寫爬蟲指令碼,還是測試介面返回資料等。都是很簡單常用的工具。但是,我們寫程式的時候,最常用的介面post資料的格式是json格式。當我們需要post json格式資料的時候,怎麼辦呢,只需要新增修改兩處小地方即可。詳見如下 import requests imp...