Espera condicional en Cypress

Feb 22 2023
Mediante el uso de una función recursiva, puede esperar repetidamente la solicitud hasta obtener la respuesta deseada. Caso de prueba Nuestro caso de prueba involucra a un usuario existente (usuario permanente) que invita a un nuevo usuario por correo electrónico. El nuevo usuario recibe un enlace de registro y se registra en la aplicación Determ.

Al usar una función recursiva, puede esperar repetidamente la solicitud hasta que obtenga la respuesta deseada

Caso de prueba

Nuestro caso de prueba involucra a un usuario existente (usuario permanente) que invita a un nuevo usuario por correo electrónico. El nuevo usuario recibe un enlace de registro y se registra en la aplicación Determ . Después de que el nuevo usuario se haya registrado y tenga acceso a la aplicación, debemos eliminarlo para "limpiar" después de la prueba. Sin embargo, no queremos eliminar el usuario existente, por lo que debemos verificar la identificación del usuario antes de eliminarlo.

Solución

Para eliminar el usuario recién creado, debemos interceptar y esperar una solicitud de API específica que contenga el token de acceso del usuario. Sin embargo, también se envía la misma solicitud para el usuario existente y no queremos eliminarlos. La única diferencia entre los usuarios es su ID de usuario, que solo podemos obtener de la respuesta de la solicitud de la API.

Para resolver este problema, podemos usar una función recursiva que espera la solicitud de API y verifica la identificación del usuario. Si el ID de usuario es el mismo que el ID del usuario existente, la función se vuelve a llamar a sí misma. Si el ID de usuario no es el mismo, guardamos el token de acceso y lo usamos para eliminar al usuario más tarde.

Aquí está el código para la función recursiva:

Luego, dentro de su prueba, simplemente llame a la función:

Condicional cy.wait()

Conclusión

Al verificar la ID de usuario en la respuesta, podemos asegurarnos de que solo eliminemos al usuario correcto. El enfoque de función recursiva puede ser útil cuando necesita esperar una solicitud de API específica y procesar su respuesta de forma condicional. Y al usar una función recursiva, puede esperar repetidamente la solicitud hasta que obtenga la respuesta deseada.

Si tiene un problema similar o necesita ayuda para implementar esta solución, no dude en dejar un comentario.