Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

238
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!