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

运行Cypress测试时跳转至登录页导致后续用例失败是什么原因

问题常见原因分类

1. 登录态持久化异常

  • Cypress默认会在每个it测试块执行完成后,自动清空当前上下文的Cookie、localStorage、sessionStorage数据,若未在beforeEach等前置钩子中做登录态持久化处理,后续测试用例发起请求时会被服务端判定为未授权,触发登录重定向。
  • 登录态本身存在有效期限制,若测试套件整体运行时长超过登录态有效时间,运行到后半段时登录态自动过期,也会触发重定向。
  • 前序测试用例包含登出、权限变更等会销毁原有登录态的逻辑,执行完成后未重新执行登录操作就运行后续需要登录态的用例,同样会触发该问题。

2. 路由/跨域策略触发

  • 测试操作跳转到了未在cypress.config.js中配置跨域许可的第三方域名,Cypress安全策略会自动重置当前上下文的所有存储数据,跳转回业务域名时会被前端权限路由守卫拦截,重定向到登录页。
  • 前端路由权限守卫逻辑存在时序问题,比如登录态判定逻辑早于本地存储读取完成,在Cypress用例执行的高并发场景下容易误判未登录,触发重定向。

3. 全局错误拦截逻辑触发

  • 前序测试用例执行过程中某个接口请求返回401未授权状态码,被前端全局请求拦截器捕获后触发了跳转登录页的逻辑,若未做测试环境隔离重置,后续所有测试用例都会在登录页执行导致全部失败。
  • 测试代码中调用cy.visit()访问了未做权限豁免的路径,未提前校验登录态就直接访问,被路由守卫拦截重定向。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 10:36:02