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

234
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 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