1. 程式人生 > 實用技巧 >requests介面測試-cookies

requests介面測試-cookies

本文內容皆為作者原創,碼字不易,如需轉載,請註明出處:https://www.cnblogs.com/temari/p/13502914.html

一,cookies

cookies是伺服器根據每個使用者生成的臨時身份證,是客戶端向伺服器辨明身份的一種,此外還有token,sign簽名。當用戶在網頁中操作修改或者新增,向伺服器提交請求時,需要攜帶使用者的cookies資訊。

二,cookie應用

我們在進行UI測試的時候,通過新增cookies,可以繞過登入的驗證碼,類似記住密碼,預設登入狀態。在進行介面測試的時候我們通過報文頭新增cookies,可以避開許可權校驗的問題。

三,新增cookies舉例

通常,對於網站的某一些選單,只有登入後才允許操作,我們在進行UI測試的時候,可以在前臺頁面驗證許可權的功能,簡單的校驗,一般前端人員負責開發。但是如果有人通過後臺呼叫介面進行修改/新增,後臺介面中也要新增相應的許可權校驗,否則會產生資料安全性的問題。而介面校驗往往是後端開發人員關注的,開發有可能忽略許可權的校驗。

3.1 開啟chrome瀏覽器,登入超級鷹網站,按F12。點選超級鷹首頁>使用者中心>ip名單,輸入ip白名單,點選【提交】按鈕,如圖:

3.2 返回到DevTools介面,點選【Network】,找到對應的請求記錄,檢視請求資訊,獲取請求URL,請求引數和cookies資訊,如圖:

3.3 編輯程式碼,新增cookies

"""
介面名稱:超級鷹網站ip名單新增介面
目標:新增cookies避開登入許可權問題
介面URL:http://www.chaojiying.com/user/ips/
請求方法:post
請求引數:ips1,ips2,act
"""
import requests
#ip名單增加介面
url="http://www.chaojiying.com/user/ips/"
data={
   'ips1': '192.172.68.1',
   'ips2':'',
   'act':''
}
#新增cookies
cookies={
    'PHPSESSID':'rlj4r3j1csc5k9g4n29jrfd6nb'
}
#傳送請求,新增cookies
r=requests.post(url=url,data=data,cookies=cookies)
print(r.encoding)
#列印狀態碼
print(r.status_code)
print(r.headers)

備註:如果不新增cookies,直接提交成功,就是一個bug。有些網站安全性差一些,許可權校驗不完善,不新增cookies也可以操作成功。我們在測試工作中要注意許可權校驗的測試,尤其是安全性要求高的系統,更要重視。

程式碼演示