大家早上好/晚上好。根据最佳实践,有一个奇怪的问题应该起作用。 我需要单击的页面上有以下元素:
<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()
有什么明显的我做错了吗?
答案 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();