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

108
Vistas
Incapaz de ver tostadas en ciprés

No puedo ver los mensajes de brindis en Cypress. Intenté la prueba en el navegador y la línea de comandos. También intenté agregar esperar.

 it('Login with invalid password', () => { login.enterEmail(testData.username) login.enterPassword(testData.invalidPassword) login.submit() cy.wait(2000) login.getToastError().contains(testData.invalidCredentialsError) })

Cualquier entrada relacionada con los mensajes de brindis con ciprés será útil. Gracias por adelantado.

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

0

Esto funcionó para mí cuando necesitaba verificar que estaba presente y tenía el mensaje correcto. Probablemente no necesitaba el selector en .contains() pero funciona.

 cy.get('ion-toast').should('exist').shadow().contains('.toast-message','Invalid username or password.');

El método .shadow() fue la magia para ver el interior de la tostada.

about 4 years ago · Juan Pablo Isaza Denunciar

0

El problema al que te enfrentas es que el brindis aparece lentamente (en comparación con la velocidad de ejecución de la prueba).

TLDR: Use cy.contains('my-selector', 'my-text')


El uso cy.get('my-selector').contains('my-text') a intentar el texto my-text , pero no la existencia de my-selector .

Usando el formato cy.contains('my-selector', 'my-text') esperará a que aparezca el elemento, luego verificará su texto.

Entonces, para un brindis que tiene id="toaster"

 it('Login with invalid password', () => { login.enterEmail(testData.username) login.enterPassword(testData.invalidPassword) login.submit() cy.contains('#toaster', testData.invalidCredentialsError) })

O pase el texto de error a login.getToastError

 it('Login with invalid password', () => { login.enterEmail(testData.username) login.enterPassword(testData.invalidPassword) login.submit() login.getToastError(testData.invalidCredentialsError) })
 // login - approximate revision getToastError(errorMessage) { if (errorMessage) { cy.contains('#toaster', testData.invalidCredentialsError) } else { return cy.get('#toaster').invoke('text') }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Suponiendo que login.getToastError() traduzca en algo como cy.get('selector') entonces puede hacer algo como esto:

Para coincidencia de texto parcial:

 it('Login with invalid password', () => { login.enterEmail(testData.username) login.enterPassword(testData.invalidPassword) login.submit() login .getToastError() .should('be.visible') .and('include.text', testData.invalidCredentialsError) })

Para coincidencia exacta de texto:

 it('Login with invalid password', () => { login.enterEmail(testData.username) login.enterPassword(testData.invalidPassword) login.submit() login .getToastError() .should('be.visible') .and('have.text', testData.invalidCredentialsError) })
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