Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

176
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda