TestCafe t.eval vs ClientFunction

Aug 17 2020

Quelle est la différence entre la fonction TestCafes t.eval() et ClientFunctions ?

J'utilise TestCafe depuis un moment maintenant et je n'ai pas trébuché sur la fonction eval jusqu'à présent.

Je suis curieux, mais j'ai aussi un cas d'utilisation concret, qui n'est pas le sujet de cette question, mais qui pourrait m'aider à comprendre la différence entre les deux. J'aimerais effectuer des tâches simples de manipulation de page, comme masquer des éléments de mon code de test. La documentation indique clairement que ClientFunction ne doit pas être utilisé pour cela : "Ne modifiez pas la page Web testée dans les fonctions client. Utilisez plutôt des actions de test pour interagir avec la page." La fonction eval est-elle adaptée à cela ?

Réponses

2 AlexeyLindberg Aug 17 2020 at 15:49

En substance, ce sont les mêmes. La différence est qu'il ClientFunctioncrée une instance qui peut être enregistrée dans une variable puis réutilisée plusieurs fois, tout en t.evalfonctionnant sans enregistrer. En outre, t.evalest exécuté immédiatement, alors que ClientFunctionce n'est pas le cas - il crée une instance que vous devez appeler explicitement pour l'exécuter.