广东腾创技术服务有限公司_腾创实验室-软件测试报告-信息化项目验收测试-软件产品登记测试-软件安全测试报告-第三方软件测试机构

良好的开端是自动化测试成功的一半

俗语说得好:良好的开端是成功的一半,在Web自动化测试中,首页登录是每个测试用例执行的前提。首页登录有验证码,也有为了安全而设置的验证码,对这些验证码进行自动识别,提取文字进行登录,是自动化测试良好的开端,否则一切都无从谈起。至于有些博客提到开发设置万能码等,如果开发团队支持也是可行,不在本文讨论范围之内。“自己动手,丰衣足食”!在即将迎来招聘黄金季之际,将此文分享给读者,希望读者们也有一个良好的自动化测试开篇。

  首页登录——无验证码

  用Chrome浏览器测试,运行首页,首页无验证码字段。

  import time

  from selenium import webdriver

  # 要测试的网站

  weburl = 'XXX'

  driver = webdriver.Chrome()

  driver.maximize_window()

  driver.get(weburl)

  driver.implicitly_wait(5)

  # 账号、密码

  login = 'XXX'

  password = 'XXX'

  driver.find_element_by_id('loginName').send_keys(login)

  driver.find_element_by_id('loginPassword').send_keys(password)

  driver.find_element_by_id('submit').click()

  time.sleep(5)

  driver.quit()

  复制代码

  上述代码实例中,用实际的测试数据代替“XXX”。

  登录——验证码

  四种登录验证码的思路

  输入式验证码

  这种是最简单的一种,只要识别出里面的内容,然后填入到输入框中即可,也是企业内部网站很常用的一种。只要不是电商网站,一般用这种就足够了。

  这也是本文着重介绍的技术。这种识别技术叫OCR,这里我们推荐使用Python的第三方库——tesserocr。

  对于没有什么背影影响的验证码,直接通过这个库来识别就可以。但是对于有嘈杂的背景的验证码这种,直接识别识别率会很低,遇到这种我们就得需要先处理一下图片,先对图片进行灰度化,然后再进行二值化,再去识别,这样识别率会大大提高。

  滑动式验证码

  模拟人去拖动验证码的行为,点击按钮,然后看到了缺口的位置,最后把拼图拖到缺口位置处完成验证。

  第一步点击按钮,第二步拖到缺口位置。