我正在编写一个Cypress测试,用于登录网站。有用户名
和密码
字段以及一个提交
按钮。大多数登录都很简单,但有时首先会出现一个必须被关闭的警告对话框。
我尝试了这个:
cy.get('#login-username').type('username');
cy.get('#login-password').type(`password{enter}`);
// Check for a possible warning dialog and dismiss it
if (cy.get('.warning')) {
cy.get('#warn-dialog-submit').click();
}
在没有警告出现的情况下,这段代码可以正常运行:
CypressError: 超时重试:期望找到元素:'.warning',但未找到。
随后我尝试了以下代码,但由于警告未能及时出现,所以Cypress.$
找不到任何内容:
cy.get('#login-username').type('username');
cy.get('#login-password').type(`password{enter}`);
// Check for a possible warning dialog and dismiss it
if (Cypress.$('.warning').length > 0) {
cy.get('#warn-dialog-submit').click();
}
如何正确检查元素是否存在?我需要像cy.get()
那样的东西,如果找不到元素则不会抱怨。