Cuatro snipets prácticos de Cypress
En este artículo presentamos cuatro snipets prácticos de Cypress pensados para equipos de QA y desarrolladores que automatizan pruebas de aplicaciones web. Además compartimos cómo Q2BSTUDIO puede ayudar a implementar pruebas automatizadas dentro de proyectos de aplicaciones a medida y software a medida, o integrarlas en pipelines en la nube como parte de servicios cloud aws y azure. Si buscas automatizar flujos de prueba y despliegue puedes conocer nuestros servicios en desarrollo de aplicaciones y software multiplataforma y en automatización de procesos software. Q2BSTUDIO es una empresa de desarrollo de software especializada en inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y soluciones como power bi para empresas.
1. Comprobar que la URL contiene una u otra cadena con satisfy
Cuando necesitas validar que la URL actual contiene una de varias rutas posibles puedes usar una aserción personalizada con satisfy. Ejemplo descriptivo: cy.url().should(satisfy, url => { return url.includes(pathStringA) || url.includes(pathStringB) }). Esta aproximación es útil en redirecciones condicionales o cuando la misma página puede exponerse en varias rutas.
2. Obtener el tipo de etiqueta de un elemento
Para detectar si un elemento es h1, a, div u otra etiqueta puedes acceder a la propiedad tagName del primer elemento del jQuery object. Ejemplo descriptivo: cy.get(.heading).then($element => { const tagName = $element[0].tagName; cy.task(log, tagName); // devuelve H1 }). Esto ayuda cuando el comportamiento depende del tipo de etiqueta o cuando hay que aplicar verificaciones accesibles.
3. Comprobar si un elemento existe o no en el DOM
A veces solo necesitas saber si un selector está presente antes de ejecutar lógicas distintas. Un patrón simple con find y length sirve: cy.get(body).then($body => { if ($body.find(.some-element).length == 0) { // hacer algo si no existe } else { // hacer algo si existe } }). Este enfoque evita fallos por elementos opcionales y permite ramificar pruebas según la presencia del elemento.
4. Verificar estados de URL y redirecciones
Puedes interceptar peticiones para detectar si una URL responde correctamente y si genera una redirección. Ejemplo descriptivo resumido: const urlInterceptResp = link => { cy.intercept(GET, **/*).as(getRequests); cy.visit(link).then(() => { cy.wait(@getRequests).then(interception => { if (interception.response.statusCode >= 300 && interception.response.statusCode < 400) { // informar que redirige a interception.response.headers.location } else { // informar que responde normalmente } }) }) cy.on(fail, (err, runnable) => { // registrar error y fallar la prueba }) }. Esta técnica es valiosa para comprobar enlaces, detectar redirecciones 301 o 302 y documentar headers de respuesta para auditorías o pruebas de integración.
Consejos prácticos adicionales: mantener selectores resilientes para evitar falsos negativos, centralizar funciones de comprobación reutilizables y combinar interceptaciones con aserciones para validar tanto contenido como comportamiento de red. En Q2BSTUDIO integramos estrategias de pruebas dentro de proyectos de inteligencia artificial e ia para empresas, ofrecemos servicios de ciberseguridad y pentesting para asegurar la etapa de pruebas y despliegue, y aplicamos herramientas de inteligencia de negocio y power bi para monitorizar resultados y KPIs de calidad.
Si quieres que implementemos suites de pruebas automatizadas como parte de una aplicación a medida o deseas aconsejarte sobre arquitectura en la nube para tus pipelines de testing, contáctanos. En Q2BSTUDIO combinamos experiencia en desarrollo de software, agentes IA y ciberseguridad para ofrecer soluciones completas que aceleran la entrega y mejoran la calidad del software.
Comentarios