【发布时间】:2020-03-04 18:27:20
【问题描述】:
所以我使用 Cypress 来测试我们的 Angular 应用程序,但由于某种原因,我总是在关闭多选的 mat-select 组件时遇到问题。有人对此有好的解决方案吗?
function selectValue(id: string, value: string) {
return cy.get(`mat-select[id="${id}"]`)
.click()
.then(() =>
cy.get('mat-option')
.contains(value)
.click();
}
【问题讨论】:
-
那你为什么要调用 click in 呢?
-
你为什么在这里使用函数?你应该在 support/commands.js 中添加你想重复使用的代码,你应该像正常调用命令一样调用它,你不应该使用 .then(),你应该正常链接命令。跨度>
-
@PrzemyslawJanBeigert 不确定我是否理解您的问题?第一个 click() 是打开下拉列表,第二个是选择一个值。最好我会使用 select() 而不是 click() 但它似乎不支持 mat-select。这种方法在单选的 mat-select 上效果很好。
-
@G-M 同意,我并没有真正批评我在哪里放置命令。按照您的建议将它们链接起来可能更正确,尽管它无助于关闭对话框
标签: angular angular-material automated-tests cypress