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

464
Vistas
Mientras ejecuto la prueba de Cypress, cuando visito una nueva URL después de iniciar sesión, la página permanece solo en la URL actual

Aquí está mi código para realizar el inicio de sesión y luego visitar a los usuarios.

 cy.visit('http://localhost:3000/') cy.get("#username").clear().invoke('val', "admin") cy.get("#password").clear().invoke('val',"password") cy.get("button[type='submit']").click() //cy.wait(500)-> If I un-comment this line, it works fine cy.visit('/users/new')

Ahora pasa tan rápido que si no pongo una espera de 500ms de por medio, me da error de "solicitud xhr fallida". Vea la captura de pantalla a continuación.

ingrese la descripción de la imagen aquí

¿Alguien puede sugerirme cómo esperar dinámicamente hasta que se resuelva la solicitud?

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

0

La respuesta de Alapan funcionará, pero si sabe cómo se ve la solicitud de inicio de sesión, siempre puede interceptar eso y luego encadenar su visita fuera de la intercepción.

 cy.intercept('your/login/request/url').as('login'); // modify intercept matcher to match your actual login request cy.visit('http://localhost:3000/') cy.get("#username").clear().invoke('val', "admin") cy.get("#password").clear().invoke('val',"password") cy.get("button[type='submit']").click().wait('@login').visit('/users/new')
about 4 years ago · Juan Pablo Isaza Denunciar

0

Cuando haya iniciado sesión en su página web, identifique un elemento y agregue una afirmación de que el elemento es visible después de hacer clic en el botón Enviar.

 cy.visit('http://localhost:3000/') cy.get('#username').clear().invoke('val', 'admin') cy.get('#password').clear().invoke('val', 'password') cy.get("button[type='submit']").click() cy.get('element after login').should('be.visible')

En caso de que la pantalla posterior al inicio de sesión tarde más de 4 segundos en aparecer, también puede agregar tiempos de espera personalizados.

 cy.get('element after login', {timeout: 5000}).should('be.visible')

Además, evite usar cy.wait(500) ya que introducirá descamación en la prueba.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Según su código, no hay afirmaciones sobre el inicio de sesión. Debe evitar iniciar sesión a través de la interfaz de usuario si no planea probar esa área y, en su lugar, iniciar sesión con cy.request() , que dependerá de cómo se diseñó el inicio de sesión de su aplicación. . Luego podrá iniciar sesión a través de una solicitud y cy.visit() cualquier página como usuario registrado.

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