我已经阅读了有关条件测试的这篇文章,但仍然不理解。 https://docs.cypress.io/guides/core-concepts/conditional-testing.html#Error-Recovery
在这种情况下,当我在输入中输入一个值然后提交它时,有时,根据我输入的值,它会显示/提供DOM上的另一个元素。
所以我需要做类似的事情:
“在发生事件后(例如,在输入中提交值),请检查dom中是否存在某些元素,然后执行某些操作,否则执行其他操作”
从我在cypresss文档中阅读的内容来看,他们一直在说dom应该始终相同,根据我们在输入中输入的值而出现的元素应该已经存在。
但是事实并非如此,在现代网站中这是正常现象。
我该怎么做?否则,当我尝试“获取”该元素时,如果该元素不存在,则会崩溃。
人们通常如何管理这个问题?
答案 0 :(得分:1)
我建议将其链接在始终呈现的DOM树的上部元素上,例如:
cy.get('.app__inner').then($app => {
if ($app.find('.your_element').is(':visible')) {
// fill the logic here
} else {
// fill the logic here
}
});