我有以下两个不同的HTML元素:
<h1 class="heading-1 page-header-heading">收集</h1>
<span class="results">4655</span>
我可以通过以下方式获得它们:文章源自玩技e族-https://www.playezu.com/204532.html
cy.get('.heading-1').should('have.class', 'heading-1 page-header-heading')
cy.get('.results').should('have.class', 'results')
但我需要提取介于两者之间的值,即 收集
和 4655
文章源自玩技e族-https://www.playezu.com/204532.html
I tried :
cy.get('.heading-1').should('have.value', '收集')
cy.get('.results').should('have.value', '4655')
但是得到以下错误:文章源自玩技e族-https://www.playezu.com/204532.html
expected '<h1.heading-1.page-header-heading>' to have value '收集', but the value was ''
expected '<span.results>' to have value '4655', but the value was ''
我应该如何在Cypress中获得这两个值并进行验证?文章源自玩技e族-https://www.playezu.com/204532.html
软件测试的功能测试文章源自玩技e族-https://www.playezu.com/204532.html 文章源自玩技e族-https://www.playezu.com/204532.html
未知地区 2F
除了使用have。对于text,您可以做的另一件事是在promise中使用text()方法,并结合expect断言。这种方式允许您进一步验证。检查波纹管。
cy.get(‘.heading-1’).then(el => {
let text = el.text()
cy.log(`the expected text is: ${text}`)
expect(text).equal(‘Collectie’)
})
未知地区 1F
你必须使用 有.text 当您断言内部文本时。
cy.get(‘.heading-1’).should(‘有.text’, ‘Collectie’)
cy.get(‘.results’).should(‘有.text’, ‘4655’)
对于案例1,如果要同时使用两个类名,可以执行以下操作:
cy.get(‘.heading-1.page-header-heading’).should(‘有.text’, ‘Collectie’)
如果要检查大于或小于,可以执行以下操作:
cy.get(‘.results’)
.invoke(‘text’)
.then((text) => +text)
.should(‘be.gt’, 4000) // greater than
cy.get(‘.results’)
.invoke(‘text’)
.then((text) => +text)
.should(‘be.gte’, 4000) // greater than equal to
cy.get(‘.results’)
.invoke(‘text’)
.then((text) => +text)
.should(‘be.lt’, 9000) // less than
cy.get(‘.results’)
.invoke(‘text’)
.then((text) => +text)
.should(‘be.lte’, 9000) // less than equal to