typescript - 赛普拉斯:打字稿自定义命令不起作用
问题描述
更新: https ://github.com/cypress-io/cypress/issues/1065#issuecomment-351769720 从我的 commands.ts 中删除导入修复了它。谢谢
我正在尝试将我的柏树项目转换为使用 TypeScript。我正在关注https://docs.cypress.io/guides/tooling/typescript-support#Types-for-custom-commands上的信息
我已经修复了我遇到的所有其他编译错误,但我仍然无法让我的任何自定义命令正常工作,例如:
命令.ts:
declare namespace Cypress {
interface Chainable {
clickByLinkText(link: string): Chainable<Element>;
}
}
// Finds and clicks a given link by it's link text
Cypress.Commands.add("clickByLinkText", (link: string) => {
cy.get("a").contains(link).click();
});
当我尝试在测试中调用该函数时,我得到:
TS2339:“cy & EventEmitter”类型上不存在属性“clickByLinkText”。
我有导入“./commands”;在我的支持/index.ts
解决方案
您必须像这样添加自定义命令。你可以在这里查看讨论 - https://github.com/cypress-io/cypress/issues/1065#issuecomment-351769720 -
function clickByLinkText(link: string) {
cy.get("a").contains(link).click();
}
Cypress.Commands.add("clickByLinkText", clickByLinkText)
考虑到 node_modules 和 tsconfig.json 文件处于 sam 级别,"node_modules/cypress"
也在您的 tsconfig.json 文件中添加。includes
推荐阅读
- sql - DB2 SQL 将 NULL 插入 NOT NULL WITH DEFAULT
- angular - ng 测试要求我在运行任何单元测试之前修复所有 linting
- docker - 使用 docker run 命令获取结果加上没有文件或目录
- angular - Angular Flex 布局间隙变化
- excel - 如果在 BI Publisher Excel 模板中有条件
- python - Django 拒绝来自 Python 请求的请求
- python-3.x - Python 类方法也是实例方法
- powershell - 在 Powershell 中获取识别软件数量
- azure - 如何在天蓝色批处理帐户中指定任务的用户身份“池默认用户(管理员)”?
- android - FLutter:连接到服务协议时出错