我有一个网站,其中包含iFrame中的所有内容。我的脚本失败了,因为cypress不能等待加载bar,因为cypress到目前为止不支持iframe。我想编写一个自定义命令,等待直到属性“ ng-reflect-loading”的值更改为false。
我尝试使用以下代码,但无法正常工作,并停止了柏赛跑者。参考Thread 136
cy.get('iframe').iframeLoaded().its('document').getInDocument('.main >ng-component > :nth-child(1)').then(function($loading) {
while( $loading.attr('ng-reflect-loading')!='false')
{
cy.log('waiting')
}
})
有人可以帮忙吗?
答案 0 :(得分:0)
我对iFrame的工作方式一无所知。但是,“ ng-reflect-loading”最终会被隐藏吗? 在这种情况下,此检查应该起作用:
cy.get('.ng-reflect-loading')
.should('not.exist')
如果它仍然存在,但值应该更改,则可以检查第一个不存在的值:
cy.get('.ng-reflect-loading')
.should('not.contain.attr', 'attr_name', 'first value')
或者,如果值更改,则可以检查第二个值是否可用:
cy.get('.ng-reflect-loading')
.should('contain.attr', 'attr_name', 'second value')