WEB自动化测试基础05-验证码处理

一、Debug模式启动浏览器(浏览器复用)(技术)--推荐

Selenium启动浏览器默认是会清除所有缓存的,所以系统如果有需要登陆验证的,每 次全部都要验证一遍。 我们可以让Selenium直接用带有缓存的浏览器,就像我们使用本机浏览器一样,去访 问系统。常规系统,比如淘宝、携程,只要完成一次登陆验证,后续登陆是不会再有验证码 的。通过Debug模式启动谷歌浏览器,就能达到这个效果。 并且Debug模式的浏览器,还可以在自动化过程中实现复用浏览器来提高调试效率: 1).当运行 selenium 自动化时,要求已经登录才能才做。这个时候我们可以提前登录, 运行脚本的时候复用已经打开的浏览器。 2).当调试了某个步骤很多的测试用例,前面N-1步已经成功,只需调试第N步。如果从 头开始运行脚本,耗时过多,这时我们可以直接复用浏览器只操作第N步。 复用浏览器的特点: webdriver启动时将不再创建新的浏览器窗口 将运用已打开的浏览器的当前页面,对元 素的进行操作 。

二、识别法(技术)

识别法就是对验证码的图片进行字符识别,其原理就是通过识别算法解析图 片,其解析的精准度取决于图片的复杂程度。 根据本人经验,如果图片中的字符方方正正的并且图片背景比较单调的话, 那么OCR识别率会非常高。 但是对于一些复杂的图片:字体歪歪扭扭、字体颜色和图片背景很花哨、有 故意干扰的曲直线、甚至包括计算等等,如果碰到这种情况,那么OCR识别率 将非常低甚至无能为力。 我们可以看到,通过OCR这种技术来识别验证码图片中的字符不失为一种好 的方法,但是它也有很多局限性,只适用于一些简单的图片。如果你的项目中的 验证图片很复杂,果断放弃这种方法吧。

三、接口法(技术)

接口法就是让开发人员提供一个测试接口,通过这个接口可以获取到图片验 证码。这种方法的具体实现又可以有很多种,比如在服务端提供一个可被客户端 使用的接口,只要客户端传递过来自己的SessionID,该接口就返回此时正确的 Session,这种方法就可以很容易地让自动测试工具直接获取到正确的应该提交 的验证码内容;或者在网页中隐藏一个验证码内容的标签,通过读取这个网页标 签内的值就可以轻松获取到验证码内容。 增加了获取验证码的接口,势必会增加非常大的安全风险,所以这种方法只 适合在测试环境使用。

四、移除法(非技术)

所谓移除法非常简单,就是把图片验证码的功能去掉,这是最省力的一种方 法,但是需要开发人员的配合和领导的同意。但是需要注意的一点是这种方法也 只适合在测试环境使用,软件产品上线时需要把图片验证码功能还原,否则会有 巨大的安全隐患。

五、暗号法(非技术)

,暗号法就是通过事先达成的一种秘密协议进行沟通,在这里是指 让开发人员提供一个“万能验证码”,不论图片如何变化,只要输入万能验证码 就能通过。但是这种方式同样会产生安全隐患,如果验证码被攻击者知道的话, 所以这种方法也只适合在测试环境使用。

六、Cookie跳过验证码(技术)

不做登录操作,直接做后续请求,请求时带正常登录用户的可用cookie,那么是不需要登录就可以操作成功的,从而避免了验证。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值