TestCafe t.eval vs. ClientFunction

Aug 17 2020

Qual è la differenza tra la funzione TestCafes t.eval() e ClientFunctions ?

Sto usando TestCafe da un po' di tempo e fino ad ora non mi sono imbattuto nella funzione eval.

Sono curioso, ma ho anche un caso d'uso concreto, che non è oggetto di questa domanda, ma potrebbe aiutarmi a capire la differenza tra entrambi. Mi piacerebbe eseguire semplici attività di manipolazione della pagina come nascondere elementi dal mio codice di test. La documentazione dice chiaramente che ClientFunction non dovrebbe essere usato per questo: "Non modificare la pagina web testata all'interno delle funzioni client. Usa invece le azioni di test per interagire con la pagina." La funzione eval è adatta a questo?

Risposte

2 AlexeyLindberg Aug 17 2020 at 15:49

In sostanza, sono la stessa cosa. La differenza è che ClientFunctioncrea un'istanza che può essere salvata in una variabile e quindi riutilizzata più volte, mentre t.evalfunziona senza salvare. Inoltre, t.evalviene eseguito immediatamente, mentre ClientFunctionnon lo è: crea un'istanza che devi chiamare esplicitamente per eseguirla.