es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo debo afirmar que la casilla de verificación está marcada en Cypress?

Estoy tratando de comprobar automáticamente si un elemento está marcado o no. Por favor, encuentra la imagen a continuación:

enter image description here

Ahora, esta es la estructura del DOM para dirigirnos a este elemento:

<pds-radio class="" data-v-1234bb3c="" model="singleSelection" checked="">
 #shadow-root (open)
 <div class="wrapper">
  <div class="radio-wrapper">
          <div class="radio-container">
                 <div class="radio active" tabindex="0">
                        ::before

Actualmente, cuando hago clic en él, obtengo el atributo ‘checked’ en pds-radio y en el shadow, la clase se convierte en class="radio active" si está marcado; si no está marcado, es class="radio"

Agradecería mucho tu ayuda en esto. Gracias.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para verificar si la casilla de verificación está marcada o no, puedes utilizar el siguiente fragmento de código:

    const checkbox = await $('pds-radio') // Seleccionar el elemento pds-radio
    const isChecked = await checkbox.getAttribute('checked') // Obtener el valor del atributo checked
    const isActive = await checkbox.$('.radio').hasClass('active') // Verificar si el botón de radio está activo
    
    if (isChecked !== null || isActive) { // Si alguna de las condiciones es verdadera, la casilla de verificación está marcada
      console.log('La casilla de verificación está marcada')
    } else {
      console.log('La casilla de verificación no está marcada')
    }
    

    Aquí, primero seleccionamos el elemento pds-radio utilizando await $('pds-radio'). Luego, obtenemos el valor del atributo checked utilizando getAttribute('checked'). Si el atributo está presente, significa que la casilla de verificación está marcada.

    Si el atributo checked no está presente, verificamos si el elemento radio tiene la clase active utilizando hasClass('active'). Si la tiene, significa que la casilla de verificación está marcada.

    Basándonos en estas condiciones, podemos determinar si la casilla de verificación está marcada o no.

Comments are closed.