TestCafe t.eval vs. ClientFunction
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
In sostanza, sono la stessa cosa. La differenza è che ClientFunction
crea un'istanza che può essere salvata in una variabile e quindi riutilizzata più volte, mentre t.eval
funziona senza salvare. Inoltre, t.eval
viene eseguito immediatamente, mentre ClientFunction
non lo è: crea un'istanza che devi chiamare esplicitamente per eseguirla.