You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Cypress运行测试前手动访问网页完成前置登录验证

解决方案

1. 提前手动获取有效登录凭证

先在本地普通浏览器(非Cypress启动的测试浏览器)手动完成完整登录流程:通过captcha校验、完成来电手机号核验,登录成功后打开浏览器开发者工具的「Application」面板,复制站点下所有和登录态相关的凭据:

  • 所有Cookie(包含HttpOnly属性的会话类、身份类Cookie,注意记录对应domain、path、过期时间等参数)
  • LocalStorage中存储的token、用户标识等字段
  • SessionStorage中存储的临时身份校验字段

2. 配置全局前置钩子注入登录态

在Cypress测试用例的before全局钩子中添加注入逻辑,测试启动前就把登录态写入测试环境,无需触发登录交互:

  • 注入Cookie使用内置方法 cy.setCookie('cookie名称', 'cookie值', { domain: '你的站点域名', path: '/', httpOnly: true }),参数和你从浏览器复制的保持一致
  • 注入LocalStorage使用:cy.window().then(win => win.localStorage.setItem('字段名', '对应的值'))
  • 注入SessionStorage将上述代码的localStorage替换为sessionStorage即可

3. 调整测试用例的启动逻辑

所有测试用例无需从登录页启动,直接用cy.visit('你要测试的目标页面路径')访问对应页面即可,Cypress会携带提前注入的登录态完成访问,不会触发登录校验流程。

之前测试中断的原因说明

Cypress默认是自动化时序控制,测试执行过程中不会等待人工交互,中途手动操作会打断命令执行队列,导致后续命令超时或执行失败,因此不要在测试运行阶段做人工操作,提前注入登录态再启动测试即可。


内容的提问来源于stack exchange,提问作者fennyflop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:15:03