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

 

 

 

 

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

 

 

posted @ 2021-01-20 16:53  以泪为证  阅读(1077)  评论(1)    收藏  举报