当前位置 : 主页 > 网络安全 > 测试自动化 >

自动化测试 – 如何使用赛普拉斯检查可能不存在的元素

来源:互联网 收集:自由互联 发布时间:2021-06-19
我正在写一个赛普拉斯测试来登录一个网站.有用户名和密码字段以及提交按钮.大多数登录都很简单,但有时会出现一个必须被解除的警告对话框. 我试过这个: cy.get('#login-username').type
我正在写一个赛普拉斯测试来登录一个网站.有用户名和密码字段以及提交按钮.大多数登录都很简单,但有时会出现一个必须被解除的警告对话框.

我试过这个:

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: Timed out retrying: Expected to find element: '.warning', but never found it.

然后我尝试了这个,因为警告不够快,所以赛普拉斯.$没有找到任何东西:

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这样的东西,如果找不到元素就不会抱怨.

尝试对DOM元素进行条件测试以及赛普拉斯的各种解决方法有各种缺点.所有这些都在 Conditional Testing赛普拉斯文档中有详细解释.

由于有多种方法可以执行您要执行的操作,因此建议您仔细阅读整个文档,并确定哪种方法最适合您的应用程序和测试需求.

网友评论