1. 程式人生 > >做自動化測試的時候如何應對驗證碼問題

做自動化測試的時候如何應對驗證碼問題

下面筆者根據自己的經驗來談一下處理驗證碼的幾種方法。

1、去掉驗證碼
這是最簡單的方法,對於開發人員來說,只是把驗證碼的相關程式碼註釋掉即可,如果是在測試環境,

這樣做可省去了測試人員不少麻煩, 如果自動化指令碼是要在正式環境跑, 這樣就給系統帶來了一定的風險。

2、設定萬能碼
去掉驗證碼的主要是安全問題,為了應對線上系統的安全性威脅,可以在修改程式時不取消驗證碼,
而是程式中留一個“後門”---設定一個“萬能驗證碼” ,只要使用者輸入這個“萬能驗證碼” ,程式就認為驗

證通過,否則按照原先的驗證方式進行驗證。

3、驗證碼識別技術

例如可以通過 Python-tesseract 來識別圖片驗證碼,Python-tesseract 是光學字元識別 Tesseract OCR 引
擎的 Python 封裝類。能夠讀取任何常規的圖片檔案(JPG, GIF ,PNG , TIFF 等)。不過,目前市面上的驗證碼

形式繁多,目前任何一種驗證碼識別技術,識別率都不是 100% 。

4、記錄 cookie
通過向瀏覽器中新增 cookie 可以繞過登入的驗證碼,這是比較有意思的一種解決方案。我們可以在
使用者登入之前,通過 add_cookie()方法將使用者名稱密碼寫入瀏覽器 cookie ,再次訪問系統登入連結將自動登入。