TestCafe t.eval vs. ClientFunction

Aug 17 2020

Was ist der Unterschied zwischen der Funktion t.eval() von TestCafes und ClientFunctions ?

Ich nutze TestCafe schon seit einiger Zeit und bin bisher nicht auf die Eval-Funktion gestoßen.

Ich bin neugierig, aber ich habe auch einen konkreten Anwendungsfall, der nicht Gegenstand dieser Frage ist, mir aber helfen könnte, den Unterschied zwischen beiden zu verstehen. Ich möchte einfache Seitenbearbeitungsaufgaben wie das Ausblenden von Elementen aus meinem Testcode ausführen. Die Dokumentation sagt eindeutig, dass ClientFunction dafür nicht verwendet werden sollte: "Ändern Sie die getestete Webseite nicht innerhalb von Clientfunktionen. Verwenden Sie stattdessen Testaktionen, um mit der Seite zu interagieren." Ist die eval-Funktion dafür geeignet?

Antworten

2 AlexeyLindberg Aug 17 2020 at 15:49

Im Wesentlichen sind sie gleich. Der Unterschied besteht darin, dass ClientFunctioneine Instanz erstellt wird, die in einer Variablen gespeichert und dann mehrmals wiederverwendet werden kann, während t.evalsie ohne Speichern funktioniert. Außerdem t.evalwird sofort ausgeführt, während ClientFunctiondies nicht der Fall ist - es erstellt eine Instanz, die Sie explizit aufrufen müssen, um sie auszuführen.