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

2524 篇文章 34 订阅
2174 篇文章 2 订阅

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)-CSDN博客文章浏览阅读1.9k次,点赞85次,收藏11次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5501介绍了验证码的几种处理方式,最后一种就是通过Cookie跳转过验证码,但讲的不够详细。今天,就详细的介绍一下这种方式。

准备工具:

  ·fiddler

  · Python+selenium

百度登录为例。

 

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

接下来开始动手。

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

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

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

然后,找到重要的两个参数“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信息。

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

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】在这里插入图片描述
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 15
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用`requests`库和`session`对象来自动化通过token值登录。以下是一个简单的示例代码: ```python import requests # 创建session对象 session = requests.Session() # 设置token值 token = "your_token_value" # 将token添加到请求头中 headers = { "Authorization": f"Bearer {token}" } # 发送请求 response = session.get("http://example.com/api", headers=headers) # 打印响应内容 print(response.content) ``` 在这个示例代码中,我们创建了一个`session`对象,这个对象可以在多个请求之间共享Cookie和其他信息。然后,我们设置了一个token值,并将它添加到请求头中的`Authorization`字段中。最后,我们使用`session`对象发送一个GET请求,获取响应内容。 ### 回答2: 要实现通过token值登录自动化代码,需要使用Python编程语言和相关的库和框架。以下是一个简单的示例代码: ```python import requests def login_with_token(token): headers = { 'Authorization': f'Token {token}' # 设置请求头,将token值放在Authorization字段中 } # 发送带有token的请求,登录步骤 response = requests.get('https://api.example.com/user/profile', headers=headers) if response.status_code == 200: # 登录成功,继续后续操作 print('登录成功!') # 在这里添加需要执行的自动化操作 else: # 登录失败,处理错误信息 print('登录失败:', response.text) # 测试代码 if __name__ == '__main__': token_value = 'your_token' # 替换为实际的token值 login_with_token(token_value) ``` 以上示例代码中,我们使用了`requests`库发送HTTP请求,并设置了请求头`Authorization: Token <token>`,其中`<token>`为实际的token值。然后,我们发送GET请求来访问需要登录才能访问的资源(如用户个人资料)。如果返回的响应状态码为200,则表示登录成功,我们可以在成功登录后继续执行后续的自动化操作。如果登录失败,则可以根据返回的错误信息进行错误处理。 请注意,以上示例代码仅仅是一个简单的示例,实际应用中可能需要根据具体情况进行适当的修改和调整。 ### 回答3: 在Python中实现自动化通过token值登录的代码可以使用`requests`库来发送HTTP请求。以下是一个示例代码: ```python import requests def skip_login_with_token(token): headers = { 'Authorization': f'Token {token}' } try: # 发送GET请求到需要登录的页面,附带token作为Authorization头部 response = requests.get('https://example.com/login', headers=headers) # 检查响应状态码,如果返回成功则登录 if response.status_code == 200: print('成功通过token登录,可以继续后续操作') else: print('登录失败,需要手动登录') except requests.exceptions.RequestException as e: print('发送请求发生错误:', str(e)) # 使用自己的token调用函数 skip_login_with_token('your_token_here') ``` 在上述代码中,我们定义了一个 `skip_login_with_token` 函数,该函数接受一个 `token` 参数用于进行登录过操作。然后,我们构建了一个 `headers` 字典,其中包含了 `Authorization` 头部,其值为 `Token your_token_here`。接下来,我们使用 `requests` 库发送了一个GET请求到需要登录的页面,同时附带了自定义的 `headers`。最后,我们检查了响应的状态码,如果状态码为200,表示过了登录,然后可以继续后续的操作;如果状态码不为200,则登录失败,需要手动登录。 请注意,上述示例代码仅为演示目的,并不考虑登录验证机制和实际页面的情况。实际应用中,根据具体的登录流程和页面布局,可能需要进行适当的调整和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值