接口測試如何跳過登錄(渡過登錄這個難關)?


衆所周知,接口測試的很多操作的參數是需要token或者cookie的,那麼這個token或者cookie一般是通過登錄獲得的。
但是登錄中,需要很多驗證碼。所以今天來分析下怎麼解決接口測試登錄的問題。
1、假如是在ui測試中,而且不需要驗證碼的情況下,可以通過暴力的模擬用戶輸入,輸入用戶名以及密碼。
在接口測試中,假如沒有驗證碼,也可以通過抓包來進行登錄。
2、假如是接口測試的時候,開發同學也能給一個萬能碼可以解決(但是這不能驗證驗證碼的邏輯)。
3、利用Cookie跳過登錄
4、利用webdriver的HtmlUnitDriver來模擬無界面登錄,從而獲取Cookie。(但是這個還是隻能適用於沒有驗證碼的地方)
假如必須需要驗證碼,可以採用採用2個方法1、直接寫個接口去獲取驗證碼(需要做判斷,只能在測試環境生效)2、讀取服務器日誌,查看驗證碼(唯一標識grep出相應的記錄)
3、去中間件讀取比如redis,假如沒有中間價那麼可以數據庫中獲取。
這裏爲什麼不推薦使用萬能碼或者寫固定驗證碼,因爲這些都是要改代碼的,隨着環境的變化改來改去。

實踐:
第1,第2種,就不說了。
第3種,手動登錄一次,使用Charles或者其他抓包工具查看數據包,可以看到cookie,拿到後
放到postman對應的headers裏,就可以進行正常的接口測試了。
第4種,正在研究。(假如研究出來,就可以先運行然後保存cookie到文件裏/全局變量裏,然後接口用例運行時去讀取cookie)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章