如何在赛普拉斯中做 `cy.notContains(text)`?
How to do `cy.notContains(text)` in cypress?
我可以使用 cy.contains('hello')
检查 cypress 中是否存在文本,但现在我从页面中删除了 hello,我想检查 hello 是否不存在,我该怎么做 cy.notContains('hello')
?
对于检查 'hello' 不存在的简单问题,您可以使用 .contain('hello')
后接 .should()
。所以整个页面看起来像这样:
// code to delete hello
cy.contains('hello').should('not.exist')
或者您可以进一步缩小到应用程序的特定区域:
// code to delete hello
cy.get('.element-had-hello').should('not.include.text', 'hello')
如果出现不止一次“你好”,cy.contains('hello').should('not.exist)
将无法正常工作。
您可能更愿意检查已从 DOM
中删除的实际元素实例
cy.contains('hello')
.then($el => {
// delete the element
cy.wrap($el)
.should($el => {
// has this element been removed?
expect(Cypress.dom.isAttached($el)).to.eq(false)
})
})
您可以将 contains
与选择器和文本结合使用。先检查存在,删除后检查不存在
cy.contains('selector', 'hello').should('exist')
//Actions to perform Deletion
cy.contains('selector', 'hello').should('not.exist')
我可以使用 cy.contains('hello')
检查 cypress 中是否存在文本,但现在我从页面中删除了 hello,我想检查 hello 是否不存在,我该怎么做 cy.notContains('hello')
?
对于检查 'hello' 不存在的简单问题,您可以使用 .contain('hello')
后接 .should()
。所以整个页面看起来像这样:
// code to delete hello
cy.contains('hello').should('not.exist')
或者您可以进一步缩小到应用程序的特定区域:
// code to delete hello
cy.get('.element-had-hello').should('not.include.text', 'hello')
cy.contains('hello').should('not.exist)
将无法正常工作。
您可能更愿意检查已从 DOM
中删除的实际元素实例cy.contains('hello')
.then($el => {
// delete the element
cy.wrap($el)
.should($el => {
// has this element been removed?
expect(Cypress.dom.isAttached($el)).to.eq(false)
})
})
您可以将 contains
与选择器和文本结合使用。先检查存在,删除后检查不存在
cy.contains('selector', 'hello').should('exist')
//Actions to perform Deletion
cy.contains('selector', 'hello').should('not.exist')