Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

302
Visualizações
El bloque 'else' de Cypress (javascript) se ejecuta incluso cuando la primera condición de la declaración 'if' es verdadera

Nuevo en Cypress y JavaScript, por favor ayuda

Estaba automatizando el caso de prueba para verificar el estado habilitado/deshabilitado del botón con la condición de que algunos elementos tuvieran el atributo html 'src' con un valor '/Client/images/iconNo.png' (el botón estará deshabilitado) y /Client/images/iconYes.png (el botón estará habilitado).

Utilicé la declaración if para verificar la condición anterior envolviendo los objetos para obtener el valor y usando el método '.then ()', a continuación se muestra el código de JavaScript

 cy.get('.eligibilitySuccessfulGrant > :nth-child(1) > .cursor') .then(($checkListIcon) =>{ if(cy.wrap($checkListIcon).should('have.attr', 'src', '/Client/images/iconNo.png')){ verifyQIAPTab.clickRequestOrientation().should('be.disabled') } else (cy.wrap($checkListIcon).should('have.attr', 'src', '/Client/images/iconYes.png')) { verifyQIAPTab.clickRequestOrientation().should('be.enabled').click() } })

Problema : si la primera declaración 'if' es verdadera, entonces debería pasar el caso de prueba, pero el ciprés arroja un error que indica que la condición else no se cumple.

este es el error de ciprés: a continuación se muestra el error de ciprés:

donde el ciprés está comprobando esa .should('be.enabled').click() . ¿Cómo puedo resolver esto?

O

¿Hay alguna otra forma en Cypress para verificar mi caso de prueba anterior?

Por favor ayuden y sugieran Muchas gracias de antemano

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Los comandos de Cypress son asíncronos. Eso significa que es mejor usar dos condiciones if separadas. Además, estás envolviendo el mismo elemento tres veces. Usar aserciones de JavaScript en combinación con comandos de Cypress sería mucho mejor.

Este método hasAttribute , por ejemplo, puede ayudarlo a eliminar la afirmación de la condición if.

Comparta el HTML interno de los botones para que pueda ayudarlo más.

about 4 years ago · Juan Pablo Isaza Relatório

0

No se puede usar un comando de Cypress para realizar un if() , los comandos siempre devuelven un objeto que no es verdadero/falso.

Use jQuery en lugar de comando

 if ($checkListIcon.attr('src') === '/Client/images/iconNo.png')
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda