TestCafe t.eval frente a ClientFunction
¿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
En esencia, son lo mismo. La diferencia es que ClientFunction
crea una instancia que se puede guardar en una variable y luego reutilizar varias veces, mientras que t.eval
funciona sin guardar. Además, t.eval
se ejecuta de inmediato, mientras ClientFunction
que no lo es: crea una instancia a la que debe llamar explícitamente para ejecutarla.