赛普拉斯:如何检查元素是否有文本但文本不具体?

Cypress: How to check if the element has a text but the text is not specific?

还有其他方法可以检查元素是否有文本吗?

cy.get('h1').should('have.text','Enter your text')

我有这段代码,但我不希望文本与我要检查的完全一样。我只想检查元素上是否有文本。

如果您想验证部分文本,您可以:

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.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 ""