多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

Web UI自动化测试之验证码登录

更新时间:2022-07-29 09:33:07 作者:多测师 浏览:47

  系统登录是开启web ui自动化测试的关键一步。随着安全意识的加强,验证码登录已经成为各大web应用的必备防范措施,其目的是保护web应用安全,一般防止机器大规模注册,机器暴力破解数据密码等危害。那么,在我们的web ui自动化中,如何实现或者跳过验证码登录系统呢?下面简单介绍几种方法。

Web UI自动化测试之验证码登录

  一、OCR识别验证码登录方法

  OCR (Optical Character Recognition,光学字符识别),通过图像识别和机器学习识别图片中的字符。将OCR技术应用到web应用验证码登录的步骤时:截取验证码图片、使用OCR技术识别字符、将字符填充到验证码输入框。提供OCR技术的API有如免费开源的tesseract,有如收费的百度OCR API接口等等。

  由于安全性的原因,登录验证码越来越复杂,比如:英文、数字、中文、中英文混合等等,依赖OCR技术的匹配库需要机器学习不断更新,且对于测试人员而言,学习成本较高,再次不多做解释。

  本文主要介绍跳过验证码登录的方法。

  二、跳过验证码登录方法

  1.测试版本留后门

  一般有两种实现:开发人员提供关闭验证码登录的测试版本,或开发人员提供万能验证码的测试版本。

  该方法适合在交付前的阶段进行,切忌勿要将“留后门”版本作为正常版本交付。

  2.使用cookie跳过登录验证码

  1)什么是Cookie

  Cookie实际上是一小段的文本信息(key-value格式)。客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。

  2)使用Cookie跳过验证码登录举例

  以登录百度搜索账号为例,百度账号登录Cookie主要检验“BAIDUID”和“BDUSS”两个字段的值。使用python的selenium模块,使用driver.add_cookie手动添加“BAIDUID”和“BDUSS”的值,跳过验证码登录百度账号。

  注意:在我们测试时,往往如上例登录百度账号一样,Cookie存在多个字段、值,具体哪些数据是用户名和密码的,或者是必需的,需要经过测试或询问开发人员得知。以防万一,可以将所有Cookie包含的字段、值全部添加到自动化脚本的driver.add_cookie中。

  3)与robotframework结合

  将测试脚本改为robotframework兼容的自定义关键字类脚本。

  将自定义关键字导入robotframwork,使用F5键,可以查看到自定义的关键字Log On。至此,可以在robotframwork中使用免验证码登录的脚本进行测试。

  以上内容为大家介绍了Web UI自动化测试之验证码登录,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部