自动化测试验证码处理_1.18

验证码作用:

不少网站在用户登录、用户提交信息等登录和输入的页面上使用了验证码技术。验证码技术可以有效防止恶意用户对网站的滥用,使得网站可以有效避免用户信息失窃、保证网站稳定安全性

但是验证码给自动化测试带来一些不便,使脚本无法正常运行覆盖功能模块

 

如何解决:

1、去掉验证码

这是最简单的方法,对于开发人员来说,只是把验证码的相关代码注释掉即可。如果是在测试环境,这样做可省去了测试人员不少麻烦,如果自动化脚本是要在正式环境跑,这样就给系统带来了一定的风险

 

2、设置万能码

去掉验证码的主要是安全问题,为了应对在线系统的安全性威胁,可以在修改程序时不取消验证码,而是程序中留一个“后门“---设置一个”万能验证码”,只是用户输入这个“万能验证码”,程序就认为验证通过,否则按照原先的验证方式进行验证

 

3、验证码识别技术(OCR)

例如可以通过python-tesseract来识别图片验证码,python-tesseract是光学字符识别Ttesseract OCR引擎的python封装类。能够读取任何常规的图片文件(JPG,GIF,PNG,TIFF)

 

4、记录cookie

通过向浏览器中添加cookie,可以绕过登录的验证码

 

#使用cookie绕过百度验证码自动登录账户

from selenium import webdriver

import time

driver=webdriver.Firefox()

driver.get("http://www.baidu.com")

#手动添加 cookie

driver.add_cookie({'name':'实际填写name','value':'实际填写value值'})

driver.add_cookie({'name':'实际填写name','value':'实际填写value值'})

time.sleep(2)

driver.refresh()

driver.quit()

 

 

 

你可能感兴趣的:(python+selenium)