Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

458
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!