TestCafe t.eval vs ClientFunction
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
En substance, ce sont les mêmes. La différence est qu'il ClientFunction
crée une instance qui peut être enregistrée dans une variable puis réutilisée plusieurs fois, tout en t.eval
fonctionnant sans enregistrer. En outre, t.eval
est exécuté immédiatement, alors que ClientFunction
ce n'est pas le cas - il crée une instance que vous devez appeler explicitement pour l'exécuter.