2025-03-28 07:15:56
自动化测试领域中,接口自动化与 UI 自动化常常遭遇登录节点的阻碍,如验证码、图形识别、滑块等,导致自动化执行成功率不高。同时,依赖于 HTTP 接口的自动化测试前置若依赖 cookie,则无法实现自动化执行。此问题如何解决?以下方案旨在为上述问题提供解答。
### 什么是 cookie
cookie 是一种由服务器发送至浏览器的文本文件,存储在用户设备上,用于跟踪会话信息。它无任何可执行代码,用于保存服务器需要的信息,如用户身份等。每次请求网站时,浏览器会自动发送相应的 cookie。
### 过期时间的查看方式
要查看浏览器中网站的 cookie,首先打开浏览器并访问特定网站。接着按下 F12 键打开开发者工具,在“调试”选项卡中点击“存储”,然后在左侧的“网站数据”列表中单击“Cookies”。右侧的“值”列表将显示每个 cookie 的“Expires”或“Max-Age”字段,这些字段显示 cookie 的过期时间。
### cookie 的机制与时效限制
客户端向服务器发送请求后,服务器响应包含 Set-Cookie 头部,将 cookie 信息发送回客户端。客户端接收 cookie 并保存,之后在向服务器发送请求时,会添加 Cookie 头部,服务器据此返回响应数据。每个 cookie 都有默认时效,通常为会话级别,当浏览器关闭时,cookie 即被销毁。但 cookie 时效也可以手动设置。
### cookie 时效无限延长方案
### 前提条件
### 实现原理与核心流程
此方案通过微服务实现,供自动化测试调用,通过传递账号信息获取永久 cookie。将此步骤集成至自动化流程中,替代登录并获取 cookie 的节点,并永久延长 cookie 时效,确保后续自动化流程的连续执行。
### 落地案例
此方案已被应用于实践中,实现了 cookie 一次配置,永久使用的功能。对比之前,UI 自动化和 HTTP 接口自动化执行时遇到的 cookie 过期问题已显著减少,自动化平台的凌晨自动执行成功率显著提升,自动化流程的执行效率得到显著提高。
### 专利描述
(专利链接)