如何解决如何替换柏树中的显式等待调用?
我正面临着几种情况,其中仅仅因为元素未加载而无法使用cy.get()。click()单击元素。但是,如果我加上最小的等待,例如cy.wait(100);元素变为可点击,我的代码运行正常。
可以避免这种显式调用cy.wait()的做法吗?
我认为如果我能以某种方式设置cy.wait(100)的固定等待时间,即所有步骤之间的间隔为0.1ms,我的问题将得到解决,但我不知道该怎么做。
解决方法
我找到了解决方案,将其发布给其他人使用
cy.get('<your-selector-here>').should('be.visible').then( ($el) => { $el.click() } )
您可以简单地使用此断言.should('be.visible')
来替换显式的等待调用。
但是,有一个陷阱。这仅适用于您100%确定该元素将出现的情况。如果没有出现该元素,则断言将简单地失败,并且测试将不再继续。
,一个解决方案是,你可以使用 Cypress.config(defaultCommandTimeout: 10000) 针对特定情况增加默认命令超时。 在执行此代码后,增加的超时时间将适用于所有行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。