有没有办法检查一个元素是否在 cypress.io 中有一个类?

我不想测试它是否具有 ...should('have.class', "some-class") 之类的类,我只想知道它是否具有,如果没有,则执行一些赋予它该类的操作。

基本上,我想看看元素是否有 Mui-checked ,如果没有,他们会以编程方式检查它。

stack overflow Is there a way to check if an element has a class in cypress.io?
原文答案
author avatar

接受的答案

您可以为此使用 hasClass() jquery 方法:

cy.get('selector').then(($ele) => {
  if ($ele.hasClass('foo')) {
    //Do something when you have the class
  } else {
    //Do something when you don't have the class
  }
})

答案:

作者头像

像这样添加类。您不需要检查条件,因为 $el.addClass() 无论哪种方式都有效。

cy.get('selector').then($el => $el.addClass("blue"))
作者头像

您可以使用 class 检索 should() 属性并检查它是否包含您的类,例如:

cy.get('.selector')
  .should('have.attr', 'class')
  .and('contain', 'some-class');