在部分登录页面中有验证码,在自动化测试用例中解决验证码问题的方案:
1.去掉验证码:让开发先隐藏验证码,这是最简单的方式
2.设置一个万能验证码:也就是在代码中留个后门,这是最有效的方式
3.验证码识别技术
4.添加cookie,绕过登录
这里介绍一下验证码识别:
(1)原理:首先是对页面截屏--->找到验证码的位置--->保存验证码图片--->图片转文本识别验证码
(2)环境准备:
- 安装pytesseract ,在python中用pip命令安装在python\lib\site-packages下:pip install pytesseract
- 安装PIL,在python中用pip命令安装在python\lib\site-packages下:pip install pillow
- 安装tesseract-OCR ,在python中用pip命令安装在python\lib\site-packages下:pip tesseract-OCR
- 在添加环境变量TESSDATA_PERFIX,值为:D:\Python27\Tesseract-OCR\tessdata
代码如下:
from selenium