Как проверить, содержит ли атрибут класса определенный класс или нет?

#javascript #cypress

Вопрос:

Вот мой код. Это дало все уроки. Я хочу проверить, включен ли класс «с проверкой на соответствие».

 pmanage.no_additional_cost().last().invoke('prop', 'class').then((Class) => {
                let Pclass = Class
               cy.log(Pclass)
                            if(Pclass.contains('mat-checked')){
                                cy.log('mat-checked found')
                                cy.writeFile(filename, Pclass)
                            }else{
                                cy.log('Toggle is off')
                            }
                        })
 

Ответ №1:

Вы должны использовать .includes , чтобы проверить mat-checked , присутствует ли в вашем классе значение.

 pmanage.no_additional_cost().last().invoke('prop', 'class').then((Class) => {
  let Pclass = Class
  cy.log(Pclass)
  if (Pclass.includes('mat-checked')) {
    cy.log('mat-checked found')
    cy.writeFile(filename, Pclass)
  } else {
    cy.log('Toggle is off')
  }
})
 

Вы также можете использовать invoke('attr', 'class')

 pmanage.no_additional_cost().last().invoke('attr', 'class').then((classValue) => {
  if (classValue.includes('mat-checked')) {
    cy.log('mat-checked found')
    cy.writeFile(filename, classValue)
  } else {
    cy.log('Toggle is off')
  }
})