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

302
Vistas
No se puede obtener información sobre el nodo porque el selector especificado no coincide con ningún nodo en el árbol DOM

Estoy trabajando con testCafe por primera vez y estoy tratando de escribir una prueba que haga clic en el nombre de un paciente específico en una lista de pacientes que se muestra.

El error que me sale es el siguiente:

No se puede obtener información sobre el nodo porque el selector especificado no coincide con ningún nodo en el árbol DOM.

| Selector('[data-cy=Nombre]')

Este es el bloque de código real:

 test .meta({ code: '4.1', action: 'From Patient Summaries screen, click a patient name'. expected: 'Should take user to the weekly Patient Overview screen' }) .page(url) ('4.1', async t => { await LoginPageObject.loginAsDoctor(); const patients = Selector('[data-cy=Patients]'); const settingsMenuItem = Selector('[data-cy=name]'); await t.expect(patients.visible).ok().click(patients); await t.expect(Selector('[data-cy=table-row-0]').visible).ok() await t.expect(settingsMenuItem.textContent) .contains("Charles Shetland") .click(settingsMenuItem); await VnVScreenshot(t, '4.1', fixtureName); });

Intenté hacer const settingsMenuItem = Selector('td [data-cy=Name]'); y .contains("Shetland,Charles") ya que así es técnicamente como aparece el nombre.

Pero sigo recibiendo el mismo error para Selector('td [data-cy=Name]') .

La forma en que se ve la jerarquía DOM es:

 div table thead tbody tr td
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Es difícil determinar la causa exacta del error sin una muestra. Sin embargo, encontré el código incorrecto en las siguientes líneas:

 await t.expect(settingsMenuItem.textContent) .contains("Charles Shetland") .click(settingsMenuItem);

Si desea hacer clic en un elemento con texto específico, debe usar el método withText : https://testcafe.io/documentation/402740/reference/test-api/selector/withtext

 await t.click(settingsMenuItem.withText('Charles Shetland'))

Si esto no ayuda, prepare una muestra que demuestre el problema.

Tenga en cuenta que puede usar la función de depuración experimental de TestCafe para ejecutar un selector en la consola IDE o Chrome Nodejs. Consulte el siguiente artículo para obtener más detalles: https://testcafe.io/documentation/402639/reference/command-line-interface#--experimental-debug

about 4 years ago · Juan Pablo Isaza Denunciar

0

Entonces, la forma en que pude resolverlo fue con un poco de magia testCafe.

Lo que hice fue cambiar data-cy="Name" , a data-cy="call_Shetland Charles" .

No estaba seguro al principio, pero eso me permitió pasar de esto:

 const settingsMenuItem = Selector('[data-cy=Name]');

A esto:

 const settingsMenuItem = Selector('[data-cy*=Charles]');

Y testCafe pudo identificar en qué paciente quería que hiciera clic.

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