自动化怎么处理图片验证码


 

 

 

 

在写接口自动化用例时发现绕不过这个登录场景,登录成功之后都需要在请求头上需要带上一个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