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

部署运行你感兴趣的模型镜像

介绍了验证码的几种处理方式,最后一种就是通过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信息。

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

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### 处理滑动验证码自动化测试方法 在Web自动化测试中,滑动验证码是一种常见的安全机制,用于防止机器人访问系统。处理滑动验证码可以通过以下几种方式实现: #### 1. 使用图像处理技术 通过图像识别技术分析滑动验证码的背景图和滑块的位置差异,计算出需要滑动的距离,并模拟用户行为完成验证。这种方法需要依赖图像处理库(如OpenCV)和机器学习模型来提高识别准确率[^1]。 ```python import cv2 import numpy as np def calculate_distance(image1, image2): # 加载两张图片 img1 = cv2.imread(image1) img2 = cv2.imread(image2) # 转换为灰度图 gray1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY) gray2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY) # 计算两张图片的差值 diff = cv2.absdiff(gray1, gray2) # 找到滑块位置 _, threshold = cv2.threshold(diff, 50, 255, cv2.THRESH_BINARY) contours, _ = cv2.findContours(threshold, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) if len(contours) > 0: x, y, w, h = cv2.boundingRect(contours[0]) return x + w // 2 # 返回滑块中心位置 ``` #### 2. 通过Cookie绕过登录 如果滑动验证码出现在登录页面,可以通过添加有效的Cookie直接跳过登录流程。这种方式适用于已经登录过的用户环境,但需要注意Cookie的有效期和安全性[^3]。 ```python from selenium import webdriver driver = webdriver.Chrome() driver.get("https://example.com") # 添加已有的有效Cookie driver.add_cookie({'name': 'session_id', 'value': 'valid_session_value'}) driver.refresh() # 验证是否成功登录 username = driver.find_element_by_class_name("user-name").text print(username) driver.quit() ``` #### 3. 接口绕过 通过调用后端接口直接获取或验证滑动验证码的结果,避免前端交互过程。这通常需要开发人员提供支持,或者通过抓包工具(如Fiddler、Charles)分析接口请求并模拟发送请求[^1]。 ```python import requests url = "https://example.com/api/verify" data = { "slide_distance": 150, "token": "generated_token" } response = requests.post(url, json=data) if response.status_code == 200: print("滑动验证码验证成功") else: print("验证失败") ``` #### 4. 第三方工具或服务 可以使用一些第三方工具或服务(如打码平台)来处理滑动验证码。这些工具通常提供API接口,允许开发者上传验证码图片并返回解析结果。虽然这种方法简单高效,但可能涉及额外成本,并且存在隐私风险[^2]。 --- ### 注意事项 - 滑动验证码的处理方法可能因具体场景而异,需根据实际情况选择合适的方案。 - 在实际项目中,建议与开发团队沟通,尽量减少不必要的验证码校验,以降低自动化测试复杂度。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值