requests介面測試-cookies
阿新 • • 發佈:2020-08-14
本文內容皆為作者原創,碼字不易,如需轉載,請註明出處: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也可以操作成功。我們在測試工作中要注意許可權校驗的測試,尤其是安全性要求高的系統,更要重視。