自动化测试 -- 经过Cookie跳过登陆验证码

以前写过一篇博客:自动化测试如何解决验证码的问题html

介绍了验证码的几种处理方式,最后一种就是经过Cookie跳转过验证码,但讲的不够详细。今天,就详细的介绍一下这种方式。web

 

准备工具:浏览器

------------------cookie

fiddler工具

Python+selenium测试

------------------ui

以百度登陆为例。spa

验证码是汉字的,我想经过程序识别起来有点难度,也会比较麻烦。code

 

接下来开始动手。htm

一、开启Fiddler 工具,像这样!

 

二、经过浏览器登陆正常登陆百度帐号。像这样!

 

三、经过Fiddler获取登陆请求的Cookie。找到Host为“passport.baidu.com”的URL,在右侧窗口查看该请求的Cookie

而后,找到重要的两个参数BAIDUID”和“BDUSS”。

 

四、编写Selenium自动化测试脚本,跳过登陆。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

# 添加Cookie
driver.add_cookie({'name':'BAIDUID','value':'AAAAAAAAAAAAAA:FG=1'})
driver.add_cookie({'name':'BDUSS','value':'AAAAAAAAAAAAAAAAAAAAAAAAAA'})

# 刷新页面
driver.refresh()

# 获取登陆用户名并打印
username = driver.find_element_by_class_name("user-name").text
print(username)

#关闭浏览器
driver.quit()

首先,访问百度首页,处于未登陆状态。

而后,经过Selenium所提供add_cookie()方法添加Cookie信息。

最后,刷新页面,如今已是登陆状态了,获取登陆以后的用户名并打印。

相关文章
相关标签/搜索