TestCafe t.eval vs. ClientFunction
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
Em essência, eles são os mesmos. A diferença é que ClientFunction
cria uma instância que pode ser salva em uma variável e depois reutilizada várias vezes, enquanto t.eval
funciona sem salvar. Além disso, t.eval
é executado imediatamente, enquanto ClientFunction
não é - ele cria uma instância que você precisa chamar explicitamente para executá-la.