赛普拉斯未找到数据测试元素

时间:2020-02-17 09:03:56

标签: cypress

大家早上好/晚上好。根据最佳实践,有一个奇怪的问题应该起作用。 我需要单击的页面上有以下元素:

<a data-test="sign-out-link" href="/redirect/onejl/sign-out"><span>Sign out</span></a>

我正在测试中这样做

cy.get('[data-test="sign-out-link"]') .should('be.visible') .click()

但是赛普拉斯超时说找不到元素...

这具有相同的行为: cy.get('a[data-test="sign-out-link"]') .should('be.visible') .click()

即使这只是失败,这还是有点奇怪(它应该很容易找到该文本):

cy.contains('Sign out').click()

有什么明显的我做错了吗?

2 个答案:

答案 0 :(得分:1)

您是否尝试在选择器游乐场中找到此元素。 check here。 我看到的一个明显错误是您的超链接上。请尝试以下

cy.get('a[data-test=sign-out-link]').should('be.visible').click()

答案 1 :(得分:0)

您能否在赛普拉斯之前添加一个小的cy.wait(),然后退出测试代码,看看是否对您有用。

    cy.wait(2000);
    cy.get('[href="/redirect/onejl/sign-out"] > span').contains("Sign out").click();

    cy.wait(2000);
    cy.get('a > span').contains("Sign out").click();

    cy.wait(2000);
    cy.get('[data-test ="sign-out-link"]').should('be.visible').click();