TestCafe t.eval 与 ClientFunction

TestCafe t.eval vs. ClientFunction

TestCafes 有什么区别t.eval() function and ClientFunctions

我已经使用 TestCafe 一段时间了,直到现在才偶然发现 eval 函数。

我很好奇,但我也有一个具体的用例,这不是这个问题的主题,但可能有助于我理解两者之间的区别。 我想做一些简单的页面操作任务,比如从我的测试代码中隐藏元素。 文档明确指出 ClientFunction 不应该用于此:“不要在客户端函数中修改测试的网页。使用测试操作来与页面交互。” eval 函数适用于此吗?

本质上,它们是一样的。不同之处在于 ClientFunction 创建一个可以保存到变量然后重复使用多次的实例,而 t.eval 无需保存即可工作。此外,t.eval 会立即执行,而 ClientFunction 不会 - 它会创建一个实例,您需要显式调用该实例才能 运行 它。