should
创建一个断言。断言将自动重试,直到它们通过或超时。
An alias of
.and()
注意:
.should()
假设您已经熟悉断言之类的核心概念
句法
用法
.should(chainers)
.should(chainers, value)
.should(chainers, method, value)
.should(callbackFn)
正确用法
cy.get('.error').should('be.empty') // Assert that '.error' is empty
cy.contains('Login').should('be.visible') // Assert that el is visible
cy.wrap({ foo: 'bar' }).its('foo').should('eq', 'bar') // Assert the 'foo' property equals 'bar'
不正确的用法
cy.should('eq', '42') // Errors, cannot be chained off 'cy'
在大多数情况下,
.should()
产生与上一个命令相同的主题。
cy
.get('nav') // yields <nav>
.should('be.visible') // yields <nav>
但是,一些链接器改变了主题。在下面的示例中,第二个.should()
生成字符串,sans-serif
因为链接程序have.css, 'font-family'
更改了主题。
cy
.get('nav') // yields <nav>
.should('be.visible') // yields <nav>
.should('have.css', 'font-family') // yields 'sans-serif'
.and('match', /serif/)