自动化测试 -- 通过Cookie跳过登录验证码

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

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

准备工具:

------------------

fiddler

Python+selenium

------------------

以百度登录为例。

[图片上传失败...(image-35f114-1592213539296)]

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

接下来开始动手。

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

[图片上传失败...(image-4bfb9e-1592213539297)]

2、通过浏览器登录正常登录百度账号。像这样!

[图片上传失败...(image-d0bf9f-1592213539297)]

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

[图片上传失败...(image-cf9c58-1592213539297)]

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

4、编写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信息。

最后,刷新页面,现在已经是登录状态了,获取登录之后的用户名并打印。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容