我在 cypress 中遇到以下问题:
到目前为止我拥有的代码:
cy.get("tr[some attribute]").each(($element, $index, $list) => {
cy.wrap($element).find("button").click();
cy.get(".modal-dialog").should('be.visible');
cy.get(".modal-dialog button[type='submit']").should('be.visible').click();
cy.get("toast").should('be.visible').as('@toast')
cy.get('@toast').should('not.be.visible')
})
Run Code Online (Sandbox Code Playgroud)
这里的问题:
提前致谢!
我运行了一个带有模式和吐司的简单应用程序。如果修复测试的 toast 部分,则可以使用以下命令迭代行.each()
要修复 toast,您需要删除别名并cy.get('toast')第二次。
should()别名值存储在内部,并且在执行重试时不会更改。请记住,Toast 会在屏幕上停留几秒钟,因此您必须使用重试来测试它是否已经消失。(您可能需要根据 Toast 持续时间增加超时)。
需要修复的最小更改:
cy.get("tr[some attribute]").each(($row) => {
cy.wrap($row).find("button").click();
cy.get(".modal-dialog").should('be.visible');
cy.get(".modal-dialog button[type='submit']").should('be.visible').click();
cy.get("toast").should('be.visible')
// timeout must exceed toast auto-close period
// if you run the test in background or in CI, allow a few seconds extra
cy.get('toast', {timeout:10000}).should('not.be.visible')
})
Run Code Online (Sandbox Code Playgroud)
我一次只在屏幕上显示一个吐司,然后迭代等待 cy.get('toast', {timeout:10000}).should('not.be.visible') 完成。
| 归档时间: |
|
| 查看次数: |
20430 次 |
| 最近记录: |