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

Cypress单测试访问多URL时已完成XHR请求显示为取消的原因是什么

为什么已完成的XHR请求会显示为已取消状态

这是Cypress测试运行器的UI展示层问题,而非请求真的被取消:

  • 你观察到的请求实际已完成的结论是正确的,你采取的等待固定时长、校验页面渲染数据、用intercept监听请求并等待的方案,都已经保证了首个页面的XHR请求执行完毕,测试结果完全可信。
  • 出现已取消标记的原因是:当你在同一个测试中调用第二次cy.visit()时,Cypress会销毁当前页面的上下文,切换到新页面的执行上下文。此时运行器UI无法将前一个页面上下文中已完成的XHR记录和已销毁的上下文做关联,就会误将这些请求标记为已取消状态,属于已知的UI展示缺陷,不会对测试执行逻辑和结果产生任何影响。

单个测试中是否只能调用一次cy.visit()

这不是Cypress的预期行为:

  • 官方完全支持在单个测试用例中多次调用cy.visit()实现多页面跳转的测试逻辑,该用法是合法的。
  • 如果你介意UI上的已取消标记,可以将不同页面的测试逻辑拆分到独立的测试用例中,每个测试用例仅调用一次cy.visit(),就能避免该展示问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:06:03