我是赛普拉斯的新手,我一直致力于开发一些选项来展示针对特定类型的工作进行UI自动化测试的最佳方法。该测试需要从顶层向下钻取一个地图,并且一直向下钻取直到显示一个按钮。按钮可见后,应按下该按钮以继续工作流程的下一部分
我正在使用赛普拉斯(cypress)进行测试,并仔细阅读了所有文档,并研究了答案,以查看是否有人事先做过并使其正常工作。没有运气
我尝试了几件事,例如
if(cy.get('span[class="mat-button-wrapper"]').contains("Reserve").should('not.be.visible')){
flag = false
cy.get('span[class="mat-button-wrapper"]').contains("Reserve").click()
}
else{
flag = true
cy.wait(100)
}
以及类似
cy.get('span[class="mat-button-wrapper"]').contains("Reserve").should('be.visible').then((button)=> {
if(button){
cy.get('span[class="mat-button-wrapper"]').contains("Reserve").click()
flag = true
}
})
我想做的就是有条件地检查按钮是否存在,是否确实单击了按钮,否则继续while循环
答案 0 :(得分:0)
cy.get('span')
.should(($span) => {
expect($span).to.have.length(1)
const className = $span[0].className
expect(className).to.match(/mat-button-wrapper/)
})
.then(...)
Cypress将自动重试should
回调函数,直到它通过或命令超时为止。
赛普拉斯doc:cypress should callback