1. 程式人生 > >Webdriver- Cookie處理 & 驗證碼處理

Webdriver- Cookie處理 & 驗證碼處理

Cookie處理

Cookie是儲存再使用者本地終端上的資料,實際上是一小段的文字資訊。

Cookie幫助Web站點儲存有關訪問者的資訊,方便使用者的訪問。如記住使用者名稱和密碼實現自動登入。

案例:檢視訪問我要自學網時的Cookie內容

自動化測試驗證碼處理

不少網站再在使用者登入,使用者提交資訊等登入和輸入頁面上使用了驗證碼技術。驗證碼技術可以有效防止惡意使用者對網站的濫用,使得網站可以有效避免使用者資訊失竊,保證網站穩定安全性。

但是驗證碼也給自動化測試帶來了一些不便,使指令碼無法正常執行覆蓋功能模組。

如何解決呢?

  • 去掉驗證碼:這是最簡單的方法,對於開發人員來說,只是把驗證碼的相關程式碼註釋掉即可。如果在測試環境,這樣做可以省去測試人員不少麻煩。如果自動化指令碼在正式環境跑,這樣就給系統帶來了一定風險。
  • 設定萬能密碼:去掉驗證碼主要是安全問題,為了應對線上系統的安全性威脅,可以在修改程式時不取消驗證碼,而是在程式中留一個後門“設定一個萬能驗證碼”。只要使用者輸入這個“萬能驗證碼”,程式就認為驗證通過,否則按照原先的驗證方式進行驗證。
  • 驗證碼識別技術(OCR):例如可以通過Python-tesseract來識別圖片驗證碼,Python-tesseract是光學字元識別Tesseract OCR引擎的Python封裝類。能夠讀取任何常規圖片檔案(JPG, GIF, PNG, TIFF等)。不過目前市面上的驗證碼形式繁多,目前任何一種驗證碼識別技術,識別率都不是100%。
  • 記錄Cookie:通過向瀏覽器中新增Cookie,可以繞過登入的驗證碼。

基於Cookie繞過驗證碼自動登入

案例:使用Cookie繞過百度驗證碼自動登入賬戶

可以通過F12檢視請求的方式,來尋找Cookie的相關資訊。也可以通過抓包工具抓包查詢,例如Fiddler。

注意:實際專案中,Cookie裡面哪些資訊對應使用者名稱和密碼,需要跟開發人員溝通。