除了检查元素是否有文本,还有其他方法吗?
cy.get('h1').should('have.text','Enter your text')
我有这段代码,但我不想检查文本是否确切匹配。我只想检查元素上是否有文本。
除了检查元素是否有文本,还有其他方法吗?
cy.get('h1').should('have.text','Enter your text')
另一种方式,测试任何非零长度的文本
cy.visit('http://example.com')
cy.get('h1').invoke('text').should('have.length.gt', 0) // gt == greater than
cy.get('h1').invoke('text').should('not.be.empty') // not.be.empty == NOT ""
cy.get('h1').should('not.have.text', "") // also NOT ""
如果你想验证部分的文本,你可以:
cy.get('h1').should('include.text','partial text')
cy.get('h1').invoke('text').should('have.length', 1)
正如@kame所建议的那样,您还可以添加一个断言来确保长度大于0,以防上述方法不起作用。
cy.get('h1').invoke('text').should('have.length.gt', 0)
cy.get('h1').invoke('text').should('have.length.gt', 0)
应该是正确的,对吧? - kameinvoke(text)
得到什么。我也会在答案中添加这个。感谢您的建议@kame。 - Alapan Das.should('have.length', 1)
,@Kame的更正更好。 - Dizzy Al这是如何验证文本的一部分而不是整个文本的方法:
cy.visit('http://example.com')
cy.get('h1').should('have.length.greaterThan', 0) //greater than
cy.get('h1').should('not.be.empty') // not.be.empty == NOT ""
cy.get('h1').should('contain.text', 'partial text of full text') // contains
partial text of the full text"