如何在 Cypress 中检查多个 CSS 类的元素?

nik*_*ahl 6 testing e2e-testing cypress

如何检查一个元素是否有多个类?在官方文档上找不到任何内容,只有:

cy.get('form').find('input').should('have.class', 'disabled')

或者

expect($el).to.have.class('foo')

插入多个类名时,出现错误:

expect($el).to.have.class('foo bar baz')

有解决办法吗?

Zac*_*ist 15

一种方法是使用cy.and()以下方法将多个断言链接在一起:

cy.get('div')
.should('have.class', 'foo')
.and('have.class', 'bar')
.and('have.class', 'baz')
Run Code Online (Sandbox Code Playgroud)

  • 好吧,如果你有一个像 `<div class="ab c"/>` 这样的元素,`cy.get('div').should('have.class', 'ab c')` 实际上会通过——但是仅当`class` 属性正好是“ab c”。所以依赖这个不是一个好主意。 (2认同)