Pet*_*sma 2 e2e-testing cypress
我正在尝试在 Azure 发布管道期间运行 Cypress。我安装了我在本地安装的所有软件包,但是当我运行 Cypress 测试时,出现了几个错误:
TypeError: cy.visit(...).getByText 不是函数
类型错误:cy.getByLabelText 不是函数
类型错误:cy.getByPlaceholderText 不是函数
我已将以下包添加到我的package.jsondevDependencies 部分:
"@testing-library/cypress": "^4.0.4",
"@testing-library/react": "^8.0.4",
"@testing-library/dom": "latest",
Run Code Online (Sandbox Code Playgroud)
知道为什么赛普拉斯会返回这些 TypeErrors 吗?
这是一个笔试的例子:
it("can request to join private team", () => {
const privateTeamId = "fe1fa897-2e90-4ecb-91f9-0c9bb33ef63a";
cy.get(`[id=${privateTeamId}]`)
.click()
.getByText("Request membership")
.click()
.getByText("Membership request sent");
});
Run Code Online (Sandbox Code Playgroud)
Yev*_*kov 13
您需要扩展 Cypress 的cy命令。
只需将此import '@testing-library/cypress/add-commands';行添加到您的项目cypress/support/commands.js
添加此行后,如果它仍然不起作用,请关闭 Cypress 并重新启动它。
getBy*测试库 + Cypress 之间的集成中不存在查询。
所以我只是从 改为cy.getByText,cy.findByText一切正常。
根据文档:
注意:不支持 get* 查询,因为对于合理的 Cypress 测试,您需要可重试性,而 find* 查询已经支持这一点。自 v5 起不再需要 query* 查询,并将在 v6 中删除。find* 完全支持内置 Cypress 断言(删除了 query* 的唯一用例)。
https://testing-library.com/docs/cypress-testing-library/intro
| 归档时间: |
|
| 查看次数: |
3236 次 |
| 最近记录: |