首页 > 其他 > 详细

自动化测试中如何解决图片验证码问题

时间:2020-11-18 09:59:48      阅读:136      评论:0      收藏:0      [点我收藏+]

一. 使用场景说明

在接口自动化测试中,一般各业务接口会对登录接口有所依赖,而登录接口中会存在有要求输入图片验证码的问题,最终导致接口自动化测试难以顺利展开。

二. 图片验证码分析

1. 本文中遇到的验证码特点为:字符有扭曲,字符彼此拥挤在一起,字符中存有遮挡线

2. OCR图像识别可以识别出一些比较规范的字体,不适用于本场景。

3. 如果想成功识别出本文中遇到的验证码,有如下几种方案:

方案1:使用TensorFlow,通过模型训练,搭建一套符合自身业务特点的验证码识别系统

方案2:使用开放的AI模型训练平台,如百度的EasyDL, 有一定的免费使用次数

方案3:使用收费的图像识别接口,如图鉴平台,大概价格是1块钱可识别500次验证码

三. 设计方案说明

                           技术分享图片

1. 用mitmproxy工具来监控UI端操作(mitmproxy服务会以子线程方式启动),它主要包含有两个操作: 1)下载验证码图片;2)获取认证信息。

2. 通过1-2-3步骤,在UI端模拟用户登录操作。由于图片识别接口有一定的失败率,所以登录失败后,会进行登录重试

3. 登录成功后,抓包线程会成功抓取到认证信息,并将其放入队列中。主线程从队列中取出认证信息,并保存至config.ini中。

4. 业务API会优先从config.ini中读取认证信息,如果config.ini中的认证信息失效了,则通过步骤8来刷新认证信息,并自动重新执行业务API

5. 本方案中涉及到的两处重试场景(已用下划线标出), 均使用tenacity库完成的。

 

自动化测试中如何解决图片验证码问题

原文:https://www.cnblogs.com/reconova-56/p/13977342.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!