1、测试场景
在实现web自动化的过程中,为了解决每次登录时,验证码会随机变化的问题,以达到测试已登录状态的其他页面模块,我们需要利用cookie跳过登录,完成测试。
正常情况下,项目测试人员是不会遇到这种问题的,会找开发要一个固定验证码的万能账号,以结合selenium实现自动化登录。(后续会有实现一次登录,多次测试其他已登录页面的文章可以参考一下。)
2、操作原理
在等待间隙中,先手动登录,填写账密、验证码信息,登录成功 — 利用selenium的get_cookie() 获取已登录cookie — 再添加cookie至driver驱动 — driver.get(“url”)即可访问登录后的页面。
如下代码解析:
(为了命令清晰明了,使用API进行举例,没有使用定位元素定位。)
from selenium import webdriver
import time
class SkipCaptcha(object):
def __init__(self):
self.driver = webdriver.Chrome()
def login(self):
driver = self.driver
#在间隙时间40S内在浏览器中输入账号、密码、验证码等手动完成登录操作即可
driver.get("http://10.124.XXX.XXX/#/login")
time.sleep(40)
# 获取登录后的cookies。可以根据获取的cookie自定义,选取cookie中的关键信息,以便后续访问其他页面