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

Cypress 13.6.5+TypeScript自定义命令配置失败,如何解决?

Cypress 13自定义命令"cy.myCommand is not a function"问题解决

问题原因

你的自定义命令文件路径不符合Cypress默认加载规则,且缺少必要的导入与类型配置,导致命令未被注册到Cypress实例中。

解决步骤

  • 修正自定义命令文件路径
    当前自定义命令文件路径cypress/e2e/cypress/support/commands.ts不符合Cypress目录规范,需将commands.ts移动到项目根目录下的cypress/support/文件夹中,最终路径应为cypress/support/commands.ts。

  • 确保命令文件被正确导入
    Cypress 13的E2E测试模式默认以cypress/support/e2e.ts作为支持文件入口,需在该文件中导入自定义命令:

    import './commands'
    

    若项目中无e2e.ts,可检查是否存在index.ts,并在对应入口文件中添加上述导入语句。

  • 添加TypeScript类型声明(可选但推荐)
    为让TypeScript识别自定义命令、避免编辑器报错,可在cypress/support/commands.ts末尾添加类型声明:

    declare namespace Cypress {
      interface Chainable {
        myCommand(): Chainable<void>;
      }
    }
    
  • 验证Cypress配置文件
    打开cypress.config.ts,确认e2e配置中的supportFile路径指向正确的支持入口文件,默认配置示例:

    import { defineConfig } from 'cypress'
    
    export default defineConfig({
      e2e: {
        supportFile: 'cypress/support/e2e.ts',
        // 其他项目配置...
      }
    })
    

完成以上调整后,重新运行Cypress测试,自定义命令即可正常调用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 08:02:32