51Testing软件测试论坛

标题: 自动化测试 -- 通过Cookie跳过登录验证码 [打印本页]

作者: 乐哈哈yoyo    时间: 2017-6-19 10:47
标题: 自动化测试 -- 通过Cookie跳过登录验证码
今天,详细的介绍一下通过Cookie跳转验证码这种方式。
准备工具:

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

fiddler

Python+selenium

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

以百度登录为例。

[attach]106590[/attach]

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



接下来开始动手。

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

[attach]106591[/attach]

2、通过浏览器登录正常登录百度账号。像这样!
[attach]106592[/attach]
3、通过Fiddler获取登录请求的Cookie。找到Host为“passport.baidu.com”的URL,在右侧窗口查看该请求的Cookie。
[attach]106593[/attach]
然后,找到重要的两个参数“BAIDUID”和“BDUSS”。



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

  1. from selenium import webdriver

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

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

  7. # 刷新页面
  8. driver.refresh()

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

  12. #关闭浏览器
  13. driver.quit()
复制代码
首先,访问百度首页,处于未登录状态。

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

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





作者: 草帽路飞UU    时间: 2017-6-19 12:02
       
成功啦,cookie在chrome浏览器里自己找的。


作者: jingzizx    时间: 2017-6-19 12:29





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2