TestCafe t.eval frente a ClientFunction

Aug 17 2020

¿Cuál es la diferencia entre la función TestCafes t.eval() y ClientFunctions ?

He estado usando TestCafe por un tiempo y no encontré la función eval hasta ahora.

Tengo curiosidad, pero también tengo un caso de uso concreto, que no es el tema de esta pregunta, pero que podría ayudarme a comprender la diferencia entre ambos. Me gustaría realizar tareas simples de manipulación de páginas, como ocultar elementos de mi código de prueba. La documentación dice claramente que ClientFunction no debe usarse para esto: "No modifique la página web probada dentro de las funciones del cliente. En su lugar, use acciones de prueba para interactuar con la página". ¿La función eval es adecuada para esto?

Respuestas

2 AlexeyLindberg Aug 17 2020 at 15:49

En esencia, son lo mismo. La diferencia es que ClientFunctioncrea una instancia que se puede guardar en una variable y luego reutilizar varias veces, mientras que t.evalfunciona sin guardar. Además, t.evalse ejecuta de inmediato, mientras ClientFunctionque no lo es: crea una instancia a la que debe llamar explícitamente para ejecutarla.