Tengo una prueba de Cypress que escribí y, para evitar escribir una segunda prueba, me gustaría poder tomar la URL resultante y hacer dos cosas con ella:
1) Me gustaría modificarlo para forzarlo a otra página.
2) Mientras hago el punto 1, también necesitaré extraer un valor dinámico de la URL para usarlo en la URL modificada.
Tengo cy.url() pero no sé cómo capturar el valor que necesito y configurarlo como variable. ¿Alguien sabe alguna manera de hacer esto? Soy un codificador nuevo y todavía estoy aprendiendo JavaScript, por lo que esto podría ser fácil y simplemente no sé cómo hacerlo. ¡Cualquier consejo es muy apreciado!
Respuesta1
Para extraer valores de elementos cy, debes usar promesas(luego sintaxis). Trabajar con la asincronicidad de JS es un poco desalentador al principio, ¡pero que no cunda el pánico! ¡Estudie este concepto central y aprenderá rápidamente cómo funciona Cypress!
Para responder la pregunta número 1, podrías hacer:
cy.url().then(urlValue => cy.visit(urlValue + '/about');
El ejemplo anterior extraerá la URL actual y podrá usarla en la siguiente acción. (La URL se expone como un argumento de función de flecha, aquí llamado urlValue).