使用组件/cypress 进行条件测试

Lik*_*ika -1 cypress

我希望在这种情况下进行条件测试,表可能存在或不存在:

if (cy.get(#grid).should('not.exist')) {
            //do something
        } else {
            //so something else
        }
Run Code Online (Sandbox Code Playgroud)

但似乎不建议进行条件测试?有什么建议吗?

小智 6

只需使用 jQuery (Cypress.$) 即可。它的作用与 cy.get() 相同,但当元素不可用时测试不会失败。

使用 length 属性来测试 - 0 长度表示没有找到任何内容,正长度表示一个或多个。

if (Cypress.$(#grid).length) {
  //do something
} else {
  //so something else
}
Run Code Online (Sandbox Code Playgroud)

关于不使用的建议,是针对粗心的测试人员的。确保页面在使用时稳定,即所有部分都已加载(例如等待所有提取完成)。

还要记住,如果在 CI 中运行,测试速度会慢得多。在条件测试之前,检查加载的元素是否存在并且可见 - 并根据需要增加超时。