Attente conditionnelle dans Cypress
En utilisant une fonction récursive, vous pouvez attendre à plusieurs reprises la demande jusqu'à ce que vous obteniez la réponse souhaitée
Cas de test
Notre cas de test implique un utilisateur existant (utilisateur permanent) qui invite un nouvel utilisateur par e-mail. Le nouvel utilisateur reçoit un lien d'inscription et s'inscrit à l' application Determ . Une fois que le nouvel utilisateur a été enregistré et a accès à l'application, nous devons le supprimer pour le « nettoyer » après le test. Cependant, nous ne voulons pas supprimer l'utilisateur existant, nous devons donc vérifier l'ID utilisateur avant de supprimer l'utilisateur.
Solution
Pour supprimer l'utilisateur nouvellement créé, nous devons intercepter et attendre une requête API spécifique contenant le jeton d'accès de l'utilisateur. Cependant, la même demande est également envoyée pour l'utilisateur existant et nous ne voulons pas le supprimer. La seule différence entre les utilisateurs est leur ID utilisateur, que nous ne pouvons obtenir qu'à partir de la réponse de la requête API.
Pour résoudre ce problème, nous pouvons utiliser une fonction récursive qui attend la requête API et vérifie l'ID utilisateur. Si l'ID utilisateur est le même que l'ID de l'utilisateur existant, la fonction s'appelle à nouveau. Si l'ID utilisateur n'est pas le même, nous enregistrons le jeton d'accès et l'utilisons pour supprimer l'utilisateur ultérieurement.
Voici le code de la fonction récursive :
Ensuite, dans votre test, appelez simplement la fonction :
Conclusion
En vérifiant l'ID utilisateur dans la réponse, nous pouvons nous assurer que nous ne supprimons que le bon utilisateur. L'approche de la fonction récursive peut être utile lorsque vous devez attendre une demande d'API spécifique et traiter sa réponse de manière conditionnelle. Et en utilisant une fonction récursive, vous pouvez attendre à plusieurs reprises la demande jusqu'à ce que vous obteniez la réponse souhaitée.
Si vous avez un problème similaire ou avez besoin d'aide pour mettre en œuvre cette solution, n'hésitez pas à laisser un commentaire.
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































