TestCafe t.eval vs. ClientFunction

Aug 17 2020

Qual é a diferença entre a função TestCafes t.eval() e ClientFunctions ?

Estou usando o TestCafe há algum tempo e não encontrei a função eval até agora.

Estou curioso, mas também tenho um caso de uso concreto, que não é o assunto desta pergunta, mas pode me ajudar a entender a diferença entre ambos. Eu gostaria de fazer tarefas simples de manipulação de página, como ocultar elementos do meu código de teste. A documentação diz claramente que ClientFunction não deve ser usado para isso: "Não modifique a página da Web testada nas funções do cliente. Em vez disso, use ações de teste para interagir com a página." A função eval é adequada para isso?

Respostas

2 AlexeyLindberg Aug 17 2020 at 15:49

Em essência, eles são os mesmos. A diferença é que ClientFunctioncria uma instância que pode ser salva em uma variável e depois reutilizada várias vezes, enquanto t.evalfunciona sem salvar. Além disso, t.evalé executado imediatamente, enquanto ClientFunctionnão é - ele cria uma instância que você precisa chamar explicitamente para executá-la.