簡體   English   中英

賽普拉斯:Typescript 自定義命令不起作用

[英]Cypress: Typescript custom commands not working

更新: 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();
});

當我嘗試在測試中調用 function 時,我得到:

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)

同樣在您的 tsconfig.json 文件中添加"node_modules/cypress" includes考慮到 node_modules 和 tsconfig.json 文件處於 sam 級別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM