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

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

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

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

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