在Cypress TypeScript环境中无法使用@cypress/skip-test自定义命令求助
解决Cypress中
cy.skipOn的TS2339类型错误 出现这个错误是因为TypeScript未识别到@cypress/skip-test添加的自定义命令类型,需补充以下配置:
- 添加类型声明文件
在Cypress的support目录下创建(或修改)index.d.ts文件,写入类型扩展代码:
declare namespace Cypress { interface Chainable { skipOn(condition: boolean): Chainable<void>; onlyOn(condition: boolean): Chainable<void>; } }
这会告诉TypeScript,cy对象上存在skipOn和onlyOn这两个自定义命令。
- 确保类型文件被TS编译识别
打开项目根目录的tsconfig.json,检查include数组是否包含support目录下的类型文件:
{ "include": [ "cypress/support/**/*.ts", "cypress/support/**/*.d.ts" ] }
若未包含则添加上,保证TS能读取到自定义的类型声明。
- 优化导入方式
将support/index.ts中的require替换为ES模块导入,适配TS项目:
import '@cypress/skip-test/support'
- 重启服务刷新缓存
重启Cypress测试 runner,同时重启IDE的TypeScript服务(比如VSCode中按Ctrl+Shift+P,选择TypeScript: Restart TS Server),避免缓存导致的类型不更新问题。
内容的提问来源于stack exchange,提问作者therock_21
相关产品推荐
相关产品推荐

