一、验证码识别解决方案
对于web应用程序来讲,处于安全性考虑,在登录的时候,都会设置验证码,验证码的类型种类繁多,有图片中辨别数字字母的,有点击图片中指定的文字的,也有算术计算结果的,再复杂一点就是滑动验证的。
诸如此类的验证码,对我们的系统增加了安全性的保障,但是对于我们测试人员来讲,在自动化测试的过程中,无疑是一个棘手的问题。
二、Web自动化验证码解决方案
一般在我们测试过程中,登录遇到上述的验证码的时候,有以下种解决方案:
◆ 第一种、让开发去掉验证码
◆ 第二种、设置一个万能的验证码
◆ 第三种、通过cookie绕过登录
◆ 第四种、自动识别技术识别验证码
三、自动识别技术识别验证码
前三种解决方案,想必大家都比较了解,本文重点阐述第四种解决方案,也就是验证码的自动识别,关于验证码识别这一块,可以通过两个方案来解决。
◆ 第一种是:OCR自动识别技术
◆ 第二种是:通过第三方打码平台的接口来识别
OCR识别技术:
OCR中文名称光学识别, tesseract是一个有名的开源OCR识别框架。
它与Leptonica图片处理库结合,可以读取各种格式的图像并将它们转化成超过60种语言的文本,可以不断训练自己的识别库,使图像转换文本的能力不断增强。
如果团队深度需要,还可以以它为模板,开发出符合自身需求的OCR引擎。
那么接下来给大家介绍一下如何使用tessract来识别我们的验证码。
关于OCR自动识别这一块,需要大家安装Tesseract,并配置好环境,步骤如下:
1)安装tesseract
适用于Tesseract 3.05-02和Tesseract 4.00-beta的
Windows安装程序下载地址:
https://github.com/UB-Mannheim/tesseract/wik
2)加入培训数据
tesseract 默认只能识别英文,如果您想要识别其他语言,则需要下载相应的培训数据
下载地址:
https://github.com/tesseract-ocr/tesseract/wiki/Data-Files
◆ ##### 下图为中文数据包
我们