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

173
Vistas
La URL no cambia. Después de iniciar sesión por primera vez, la página se redirige a la página de T&C para aceptar

Login.spec.js

 it.only('TC02 - Login with valid data as reseller ', () => { const id = ut.record(testdata, 2); cy.login(id.username, id.password); cy.title().should('equal', 'Compass - Home'); cy.visit('/users'); cy.logout(); });

LoginPage.js -> desde la carpeta POM

 checkHome() { const path = '/license-agreement'; cy.url().then(($url) => { if($url.includes(path)) { cy.log("Yes") } else { cy.log("No") } }) }

Después, inicie sesión. Estoy llamando al método checkHome para ver si la página se redirige a casa o acuerdo. Si está en la página de acuerdo, aparece el botón Aceptar y hago clic en él.

Pero cuando registro la URL, genera la URL de la página anterior.

Además, esto se soluciona si pongo esperar en el medio. Pero no quiero usar la espera y una solución dinámica para esto.

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

0

Para fines de prueba, debe encontrar una manera de evitar este tipo de prueba condicional.

Si no puede, puede incluir el código que llama al método checkHome() . Sin embargo, para evitar el uso de cy.wait() , puede agregar cy.location('pathname').should('include', '/commmon-path/') si sus URL son comunes para la página de inicio o el acuerdo o consulta un elemento común en ambas páginas y agrega un debería (es decir cy.get('.common-element-in-home-and-agreement').should('be.visible') ).

about 4 years ago · Juan Pablo Isaza Denunciar

0

Para esperar en la url, en lugar de .then() intente usar should() con una función para manejar uno u otro, porque debería volver a intentarlo hasta que se cumpla la condición

 cy.url().should( url => { // Assert the url is one of the two expected, retry until passes expect(url).to.satisfy(function(url) { return url.includes('/license-agreement') || url.includes('/home') }) if (url.includes(path)) { cy.log("Yes") } else { cy.log("No") } })
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