自動化怎么處理圖片驗證碼


 

 

 

 

在寫接口自動化用例時發現繞不過這個登錄場景,登錄成功之后都需要在請求頭上需要帶上一個token。而通過fidder進行抓包時發現登錄場景存在兩個接口 分別為圖片驗證碼接口和login 接口

1.login 接口需要傳username pw key 以及驗證碼 

2.這個key和驗證碼 是通過驗證碼接口返回得到的

3.前期想通過寫死key和驗證碼的方式直接請求login接口,測試時發現驗證碼會過期,請求成功之后后面就不能重復使用了

4.那么就請求兩次,先請求驗證碼接口拿到key 和驗證碼 然和請求login接口獲取到返回的token,然而沒那么容易,key可以輕松得到,而驗證碼這個code值,驗證碼接口是返回的一個驗證碼的鏈接。不能直接獲取到code值。通過資料發現可以通過python的自帶庫來進行識別,但是成功率而言很低,完全瞎顯示結果。。

 

下面給出方法:

 

1.通過selenium的方式打開驗證碼接口返回的鏈接,然后進行截圖

 

2.截圖成功之后,就會得到一個src.png的驗證碼圖片,現在需要進行識別得到code

 

3.這時候就可以去拜訪百度雲了,申請一個賬號,然后找文字識別產品,創建應用,得到你的賬號,分別為apiid key SECRET_KEY

下載aip-python-sdk-4.15.1.zip  這個python的sdk ,放到你的python目錄完事

https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu

 

4.下面來貼獲取方式

 

 

首先你的賬號,然后取值,每個人需要的東西可能不一樣,也可以識別中文,我這是英文驗證碼就從字符串中取值【13:18】,具體按照實際情況來實現

 

5.login請求

 

得到你的vercode之后,就參數化進行傳參數,發起請求 完事

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM