TestCafe t.eval против ClientFunction

Aug 17 2020

В чем разница между функцией TestCafes t.eval () и ClientFunctions ?

Я уже некоторое время использую TestCafe и до сих пор не сталкивался с функцией eval.

Мне любопытно, но у меня также есть конкретный вариант использования, который не является предметом этого вопроса, но может помочь мне понять разницу между ними. Я хотел бы выполнять простые задачи по манипулированию страницей, например, скрывать элементы из моего тестового кода. В документации четко сказано, что ClientFunction не следует использовать для этого: «Не изменяйте протестированную веб-страницу в рамках клиентских функций. Вместо этого используйте тестовые действия для взаимодействия со страницей». Подходит ли для этого функция eval?

Ответы

2 AlexeyLindberg Aug 17 2020 at 15:49

По сути, они такие же. Разница в том, что ClientFunctionсоздается экземпляр, который можно сохранить в переменную и затем повторно использовать несколько раз, при этом он t.evalработает без сохранения. Кроме того, t.evalвыполняется немедленно, а ClientFunctionне выполняется - создается экземпляр, который необходимо вызвать явно, чтобы запустить его.