遇到的现象
今天在执行Cypress时,遇到报错“Because this element is detached from the DOM”
看报错信息里给出的为什么发生的原因:Your JS framework re-rendered ......,见截图里,定位事没问题了,该元素是存在的,经研究发现是由于在执行get该元素时,找不到,当前页面并没有渲染该操作,为什么??我之前很不理解,我进入该页面是先执行了,页面内容的显示校验,再去执行该按钮的点击的,为什么还加载不出??
后面发现由于研发代码这一步是异步的,我校验的页面内的文案描述非异步导致;
解决办法
在执行button元素查找时先执行cy.wait()
//步骤前增加等待
cy.wait(3000)
cy.get('button').click()
修改默认超时时间
cy.visit('具体的url', { timeout: 5000 })