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

Cypress click()函数致测试崩溃,Cypress Run执行卡住问题咨询

问题描述
  • 环境:Cypress 12.6.0
  • 异常表现:
    • Cypress Open模式:仅执行元素查找(如cy.get('ul.navigation li.login a').contains('Sign'))时测试正常通过;添加.click()后测试直接崩溃并返回Spec界面,控制台无任何错误提示。
    • Cypress Run模式:测试执行到.click()步骤时卡住,无法完成整个测试流程。
  • 复现代码示例:
    // 原问题代码
    cy.get('ul.navigation li.login a').contains('Sign').click()
    
    // 通用复现代码
    cy.visit('https://www.google.com/');
    cy.get('.LX3sZb .gb_p').contains('Gmail').click({force: true});
    
排查与解决方法

1. 禁用Cypress实验性特性

12.x版本部分实验特性可能导致交互异常,在cypress.config.js中添加以下配置:

module.exports = defineConfig({
  e2e: {
    experimentalSessionAndOrigin: false,
    experimentalModifyObstructiveThirdPartyCode: false,
  },
});

2. 优化元素定位逻辑

避免链式调用的元素歧义,改用更精准的定位方式:

// 方式1:限制唯一元素后点击
cy.get('ul.navigation li.login a').contains('Sign').first().click()

// 方式2:直接用contains匹配元素并点击
cy.contains('ul.navigation li.login a', 'Sign').click()

3. 调整浏览器设置

  • 禁用浏览器硬件加速:以Chrome为例,进入「设置→系统」关闭「使用硬件加速模式(如果可用)」,重启浏览器后重新运行测试。
  • 切换浏览器版本:尝试使用Chrome 110+、Edge等不同浏览器,排查版本兼容性问题。

4. 更新Cypress版本

升级至12.x系列最新稳定版,官方已修复该版本部分点击交互崩溃的bug。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 19:36:20