Selenium 自动化测试实战:绕过登录直接获取 Cookie

在 Web 自动化测试过程中,登录步骤往往是最麻烦、最耗时的。比如验证码、滑块、短信登录等等,都不适合直接写到自动化测试脚本里。

这时候,我们就可以使用 绕过登录,直接复用 Cookie 的方式,既能保证测试流程完整,又能大幅提升执行效率。

本文将以 Selenium + Python为例,实现绕过登录获取 Cookie。

一、为什么要绕过登录?

  1. 登录操作繁琐:很多系统登录需要验证码/二次验证,自动化很难处理。

  2. 提高运行效率:跳过登录步骤,直接进入系统核心功能,执行速度更快。

  3. 便于调试和回归测试:专注于业务逻辑,而不是重复登录。

二、实现思路

  1. 第一次人工登录,并用 Selenium 把当前页面的 Cookie 保存到 `cookies.json` 文件。

  2. 后续测试直接读取 Cookie 文件,在打开浏览器后注入到会话中,实现绕过登录。

三、环境准备

Python 3.x

Selenium 库

安装依赖:

bash

pip install selenium

四、代码实现

第一次人工登录后,运行下面的脚本:

python 复制代码
import json
from selenium import webdriver

# 启动浏览器
driver = webdriver.Chrome()
driver.get("http://your-crm-login-page.com")

# 手动登录(这里等你手动输入用户名密码 + 验证码)
input("请完成登录后按回车继续...")

# 获取 cookie 并保存
cookies = driver.get_cookies()
with open("cookies.json", "w", encoding="utf-8") as f:
    json.dump(cookies, f)

print("登录成功,cookies 已保存到 cookies.json")
driver.quit()

运行后,你会在项目目录下得到一个 cookies.json 文件,内容大概如下:

python 复制代码
[
  {
    "domain": "your-crm-login-page.com",
    "httpOnly": false,
    "name": "SESSIONID",
    "path": "/",
    "secure": false,
    "value": "abc123xyz"
  }
]

在后续测试用例中,直接注入 Cookie:

python 复制代码
import json
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("http://your-crm-login-page.com")

# 加载 cookies.json
with open("cookies.json", "r", encoding="utf-8") as f:
    cookies = json.load(f)

for cookie in cookies:
    driver.add_cookie(cookie)

# 刷新页面即可跳过登录
driver.refresh()

print(" 已绕过登录,直接进入系统")
相关推荐
qq_452396234 小时前
第十五篇:《UI自动化中的稳定性优化:解决flaky tests的七种武器》
运维·ui·自动化
m0_613856295 小时前
mysql如何利用事务隔离级别解决特定业务冲突_mysql隔离方案选型
jvm·数据库·python
j_xxx404_5 小时前
Linux:静态链接与动态链接深度解析
linux·运维·服务器·c++·人工智能
Johnstons5 小时前
Wireshark ExpertInfo是什么?一文讲透异常分级、适用场景、和传统抓包阅读的区别与排查标准
网络·测试工具·wireshark·es
我的xiaodoujiao5 小时前
API 接口自动化测试详细图文教程学习系列16--项目实战演练3
python·学习·测试工具·pytest
ID_180079054735 小时前
Python 实现亚马逊商品详情 API 数据准确性校验(极简可用 + JSON 参考)
java·python·json
_只道当时是寻常5 小时前
【Codex】Ubuntu 安装 Codex CLI 并解决 Clash 代理与账号认证问题
linux·ubuntu·chatgpt
时空系6 小时前
第10篇:继承扩展——面向对象编程进阶 python中文编程
开发语言·python·ai编程
brucelee1866 小时前
Claude Code 安装教程(Windows / Linux / macOS)
linux·windows·macos
云飞云共享云桌面6 小时前
东莞智能装备工厂数字化实践—研发部门10名SolidWorks设计共享一台云主机流畅设计
服务器·自动化·汽车·负载均衡·制造