Interacción con Pop-ups, Modales y Tooltips en Cypress
Clase 21 de 23 • Curso de Automatización de Pruebas UI con Cypress
Resumen
¿Cómo trabajar con los modales y pop-ups?
Al navegar por la web, es inevitable encontrar modales, pop-ups o alertas. Estos elementos son clave para la interacción, pero también para las pruebas de software en aplicaciones web. Aquí aprenderás a manejarlos efectivamente utilizando Cypress.
¿Qué son los modales y cómo interactuar con ellos?
Un modal es una ventana emergente que se superpone a la interfaz principal del sitio, centrando la atención del usuario en un contenido específico. Estos no son nativos del navegador, facilitando su identificación y manipulación dentro del código HTML.
Puedes identificar un modal utilizando atributos únicos como IDs o clases específicas. Para interactuar, sigue estos pasos básicos:
- Utiliza métodos de Cypress como
cy.get()
para obtener el elemento. - Realiza acciones como
.click()
para abrir o cerrar el modal.
cy.get('#showModel').click(); // Abre el modal
cy.get('#closeModel').click(); // Cierra el modal
¿Cómo trabajar con pop-ups y alertas?
A diferencia de los modales, los pop-ups y alertas son más complejos, ya que son nativos del navegador y no tienen representaciones directas en el DOM. Esto implica que no pueden inspeccionarse ni manipularse directamente como los elementos comunes del DOM.
¿Cómo manejar alertas con Cypress?
- Aceptación Automática: Cypress por defecto acepta automáticamente las alertas, lo cual simplifica el proceso en pruebas automatizadas.
- Escuchando Eventos: Utiliza
cy.on()
para escuchar eventos del navegador. - Intercepción de Llamadas: Implementa un
cy.stub
para capturar las alertas y realizar validaciones.
cy.on('window:confirm', (message) => {
expect(message).to.equal('Do you confirm action?');
return true; // o false para simular rechazo
});
¿Cómo realizar pruebas unitarias con stubs y validar alertas?
Un stub permite capturar y simular interacciones, interceptando llamadas para validar comportamientos esperados sin la necesidad de moquear funciones complétamente:
- Utiliza
cy.stub
para mochaear funciones dentro de los tests. - Valida que la función haya sido llamada correctamente con valores esperados.
¿Cómo interactuar con tooltips?
Un tooltip es un pequeño texto emergente que aparece cuando el usuario posiciona el puntero sobre un elemento. Es común en interfaces de usuario para proporcionar información adicional.
Para probar tooltips en Cypress:
- Utiliza
cy.trigger()
para simular eventos comomouseover
. - Realiza validaciones con
cy.contains()
para asegurar que el tooltip está mostrando el texto esperado.
cy.get('#tooltipElement').trigger('mouseover');
cy.contains('You over the button').should('exist');
Para desactivar el tooltip, usa:
cy.get('#tooltipElement').trigger('mouseout');
cy.contains('You over the button').should('not.exist');
El dominio de estas herramientas y técnicas enriquecerá tus habilidades en pruebas de software. La práctica es clave, sigue explorando y aplicando lo aprendido con Cypress para dominar la automatización de pruebas. ¡Ánimo en tu camino hacia la maestría de la automatización!