Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

236
Vistas
Cypress: se agotó el tiempo de reintento después de 4000 ms: se esperaba encontrar el elemento, solo en Jenkins

Tengo una agrupación de pruebas de Cypress que están fallando, solo en mi entorno de Jenkins . Un bloque de describe completo no puede encontrar un elemento. Cada prueba en el bloque comienza con los mismos comandos:

 describe("This section of tests", () => { it("Test for something in this section", () => { cy.login(); // custom login command, works in all other test blocks setupPage(); // page setup function, no problems in all other test blocks cy.wait(10000); // desperation wait cy.get("#toggle-detail-pane-button").click(); // issue here! // all tests in block run more assertions and commands after this }); // more similar tests in block }); // more describe blocks that also use cy.login and setupPage, with no issue

Cuando ejecuto estas pruebas en la interfaz de usuario de prueba de Cypress, todas pasan. Cuando los ejecuto en la terminal de mi máquina con npx cypress run , pasan. Cuando entro en un terminal OpenStack remoto que está configurado para ejecutar mi proyecto y ejecutar cypress, y ejecutar npx cypress run , pasan.

Cuando ejecuto las pruebas en Jenkins, que usa un puñado de instancias idénticas de OpenStack para ejecutar cypress en paralelo, las pruebas fallan, consistentemente, con el siguiente mensaje:

 AssertionError: Timed out retrying after 4000ms: Expected to find element: `#toggle-detail-pane-button`, but never found it. at Context.eval (http://localhost:3000/__cypress/tests?p=cypress/integration/stuff/mytests.spec.js:519:8)

He intentado reorganizar mis pruebas, reescribirlas, etc., pero no tuve suerte. No puedo entender lo que está yendo mal aquí. Mi entorno de Jenkins usa una configuración personalizada de ciprés y, por alguna razón, el tablero no registra las pruebas, por lo que no puedo ir y ver capturas de pantalla o videos (eso es un problema completamente separado).

¿Por qué solo fallarían estas pruebas solo en mi entorno CI/CD? ¿Cómo puedo siquiera comenzar a depurar esto?

Editar: capturas de pantalla

Pude volver a ejecutar el CI/CD con capturas de pantalla y videos, y luego pude scp los archivos de la instancia con las pruebas fallidas. Cuando se ejecuta en mi máquina, Cypress no tiene problemas para encontrar el elemento:

ingrese la descripción de la imagen aquí

Cuando uso el patio de recreo del selector de ciprés en mi máquina, también lo encuentra:

ingrese la descripción de la imagen aquí

Pero en la captura de pantalla que saqué de la instancia openstack ejecutando exactamente la misma prueba, no puede encontrarla:

ingrese la descripción de la imagen aquí

(Perdón por todo el verde, esta es una aplicación propietaria)

¿Lo que da?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Eso significa que hay un problema con su comando cy.visit(). La página no se está cargando antes de la prueba por eso

about 4 years ago · Juan Pablo Isaza Denunciar

0

Tuve un problema similar. Lo resolví obteniendo el elemento por un selector o clase en lugar de su id.

fui de:

 cy.get('#mat-options-text').click()

a

 cy.get('mat-options').click()
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda