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

242
Vistas
Cypress: verifique el valor de una celda en una tabla usando sondeo

Tengo una tabla que tiene una columna de estado, quiero verificar el estado de la primera fila (que es la última columna). el estado pasa de "en progreso" a completado después de un tiempo (máximo 5 min);

aquí está el DOM:

 <tbody> <tr> <td>...</td> <td> ... </td> <td> in progress / complete </td> //status => want to check this cell. </tr> <tr> <td>...</td> <td> ... </td> <td> ... </td> //status </tr> <tr> <td>...</td> <td> ... </td> <td> ... </td> //status </tr> </tbody>

¿Cómo llegar a la celda que quiero y usar el mecanismo de sondeo para ver si el estado se completó?

gracias por su ayuda

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

0

Primero verificaría el estado "en progreso" para asegurarme de que la secuencia sea correcta.

 cy.contains('tbody tr:eq(0)', 'in progress') cy.contains('tbody tr:eq(0)', 'complete', {timeout:300000})
about 4 years ago · Juan Pablo Isaza Denunciar

0

El patrón para seleccionar fila y columna en Cypress sería

 cy.get('tbody tr').eq(0) // first row .find('td').eq(2) // third col .should('contain', 'complete') // criteria to check

Esto espera la configuración predeterminada de defaultCommandTimeout , que es de 4000 ms. Para ampliar a 5 minutos, agregue un tiempo de espera de 300000.

 cy.get('tbody tr').eq(0) .find('td').eq(2, {timeout:300000}) .should('contain', 'complete') // on fail retry above up to 5 minutes

Pero es posible que obtenga errores con esto dependiendo de los cambios en el DOM después de que se actualice el estado. Si la fila o la tabla se actualizan con una copia nueva, es posible que deba combinar los pasos en un selector.

 cy.get('tbody tr:nth-child(1) td:nth-child(3)', {timeout:300000}) .should('contain', 'complete')

No siempre está claro qué pasos en una cadena de comando se repetirán cuando .should() falla.

about 4 years ago · Juan Pablo Isaza Denunciar

0

También puede usar within para ir dentro del primer tr y esperar la cantidad de tiempo deseada para que aparezca el texto complete . Algo como esto:

Para coincidencia exacta de texto:

 cy.get('tbody') .find('tr') .eq(0) .within(() => { //eq(0) gets the first tr cy.get('td', {timeout: 300000}).eq(2).should('have.text', 'complete') //Exact text match })

Para coincidencia de texto parcial:

 cy.get('tbody') .find('tr') .eq(0) .within(() => { //eq(0) gets the first tr cy.get('td', {timeout: 300000}).eq(2).should('contain.text', 'complete') //partial text match })
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