OSW*_*OSW 4 javascript testing end-to-end cypress
我有一个值为2的span元素。我想检查该值是否大于0,但是在网上检查并实现了每个方法后,它都不起作用......
这是我记录 $span 时的控制台
我知道 Cypress 是异步工作的,所以我用它.then()
来获取元素的文本。如何获取 2 的值并执行以下 if-else 操作?
超文本标记语言
<div>
<span class="badge ml-1 badge-primary">2</span>
</div>
Run Code Online (Sandbox Code Playgroud)
cy.get(".badge.ml-1.badge-primary").then(($span)=> {
if($span.text().includes(0)) {
doFunction1()
} else {
cy.get(xxxxx)
}
)}
Run Code Online (Sandbox Code Playgroud)
通过链接转换方法来实现 from element
-> text
->number
cy.get(".badge.ml-1.badge-primary")
.invoke('text') // to text
.then(text => +text) // to number
.then(value => {
if(value > 0) {
doFunction1()
} else {
cy.get(xxxxx)
}
})
Run Code Online (Sandbox Code Playgroud)
等待价值2
cy.get(".badge.ml-1.badge-primary")
.invoke('text') // to text
.then(text => +text) // to number
.should('eq', 2) // wait for value 2
.then(() => {
doFunction1() // now doFunction
})
Run Code Online (Sandbox Code Playgroud)