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

Cypress JS如何设置忽略指定的pending状态网络请求?

Cypress忽略指定pending网络请求解决方案

Cypress默认会等待页面发起的所有网络请求完成、失败或超时才会判定cy.visit执行完成,未完成的pending请求会阻塞后续用例执行,可通过以下几种方案解决:

  • 方法1:拦截匹配目标请求,直接短路处理
    这是最优方案,匹配到图标类请求后直接返回模拟响应,不发起真实网络请求,从根源规避pending等待问题。示例代码如下:
// 执行visit前先注册拦截规则,可根据实际情况调整匹配规则
cy.intercept('GET', '**/*.{svg,png,ico,jpg,webp}', (req) => {
  req.reply({ statusCode: 200, body: '' })
})
cy.visit('/')

如果只有特定路径的图标请求需要忽略,也可以把通配符替换为指定路径规则,比如**/icon/*精准匹配图标目录下的所有请求。

  • 方法2:不拦截响应,仅跳过请求等待
    如果需要真实请求正常发出,只是不想让Cypress等待这类请求完成再执行后续用例,可以按如下配置:
cy.intercept('GET', '**/*.{svg,png,ico,jpg,webp}', {
  log: false,
  continue: true
})
cy.visit('/')
  • 方法3:临时调整超时阈值(应急用)
    如果不想配置拦截规则,可临时给当前cy.visit设置更长的超时时间,避免直接报错,但不会缩减等待时长:
cy.visit('/', { timeout: 15000 })

pending状态网络请求示例

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 19:36:02