前戲
在我們進行自動化測試的時候,很多網站都會都請求頭做個校驗,比如驗證 User-Agent,看是不是浏覽器發送的請求,如果我們不加請求頭,使用腳本通路,預設User-Agent是python,這樣伺服器如果進行了校驗,就會拒絕我們的請求。是以,在做自動化的時候,加上必要的請求頭是一個好習慣。
請求頭設定
使用requests庫添加請求頭很簡單,隻需要傳一個headers參數就可以了
import requests
base_url = 'http://httpbin.org'
form_data = {"user": "zou", "pwd": '31500'}
form_header = {"User-Agent": "Chrome/68.0.3440.106"} # 設定請求頭,字典格式= requests.post(base_url + '/post', data=form_data, headers=form_header)
print(r.url) # 列印URL
print(r.status_code)
print(r.text)
結果:
http://httpbin.org/post
200
{
"args": {},
"data": "",
"files": {},
"form": {
"pwd": "31500",
"user": "zou"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Content-Length": "18",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "httpbin.org",
"User-Agent": "Chrome/68.0.3440.106"
},
"json": null,
"origin": "112.10.81.210, 112.10.81.210",
"url": "https://httpbin.org/post"
}
檢視請求頭
前面我們已經設定好了請求頭,我們可以使用r.request.headers來檢視請求頭
import requests
base_url = 'http://httpbin.org'
form_data = {"user": "zou", "pwd": '31500'}
form_header = {"User-Agent": "Chrome/68.0.3440.106"}
r = requests.post(base_url + '/post', data=form_data, headers=form_header)
print(r.request.headers) # 檢視請求頭
結果:
{'User-Agent': 'Chrome/68.0.3440.106', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '18', 'Content-Type': 'application/x-www-form-urlencoded'}
響應時間
當我們測接口的時候,我們肯定是想知道接口的響應時間,requests 提供了擷取響應時間的方法
res.elapsed
擷取到的資料格式如下
0:00:00.030363
可以直接轉為毫秒
res.elapsed.microseconds/1000