Agora com definição de tipos na assinatura das funções

É com enorme prazer que lhes apresento a mais nova versão da biblioteca protractor-helper, a qual agora provém uma melhor experiência aos seus usuários com a definição de tipos na assinatura das funções.

A partir da versão 4.1.1, se você utiliza o editor de código Visual Studio Code (ou algum outro com suporte à TypeScript), após importar a biblioteca em seu arquivo de testes, quando digitar algo como helper.click(), você será apresentado com os parâmetros que tal função espera que você forneça, quais os tipos de tais parâmetros, quais são obrigatórios e quais são opcionais, além do retorno de cada função.

Veja alguns exemplos.

Assinatura da função scrollToElement

Perceba a tooltip exibida, a qual fornece as seguintes informações sobre o método scrollToElement.

O primeiro argumeto que devemos passar é um elemento (elem), o qual é do tipo ElementFinder, e tal argumento é obrigatório.

O segundo argumento que podemos passar é um timeout em milissegundos (timeoutInMs), o qual é opcional. É possível identificar que o argumento é opcional devido ao ponto de interrogação (?) antes da definição do seu tipo, o qual é um número (number).

Além disso, é possível perceber que tal função retorna uma promessa (Promise).

Vejamos outro exemplo, o qual espera mais argumentos.

Assinatura da função waitForTextToBePresentInElement

No caso do método waitForTextToBePresentInElement, o primeiro argumeto também é um elemento (elem) do tipo ElementFinder, o qual é obrigatório.

O segundo argumento é um texto (text), o qual também é obrigatório e é do tipo string.

Já o terceiro argumento, como no exemplo anterior, é um timeout em milissegundos (timeoutInMs), o qual é opcional e é do tipo número (number).

Por fim, veja que este método também retorna uma promessa (Promise).

Agora, vejamos o exemplo de um método da biblioteca que pode ser utilizado para realizar uma verificação.

Assinatura da função isCurrentUrlDifferentFromBaseUrl

Perceba que a função isCurrentUrlDifferentFromBaseUrl não recebe nenhum argumento, e retorna um boleano (boolean), ou seja, um valor positivo (true), ou negativo (false), o qual pode ser utilizado para fazermos uma verificação (ou expectation).

Por fim, vejamos uma função que espera somente um argumento opcional, e que não possui retorno.

Assinatura da função setTimeout

Veja que a função setTimeout possui somente um argumento, o qual é um número (number) e tal argumento é opcional.

Além disso, tal função não possui retorno, o qual pode ser percebido pelo retorno void, que significa a ausência de retorno.


Ah, os exemplos apresentados neste post podem ser encontrados no GitHub através da seguinte URL: https://github.com/wlsf82/sample-protractor


Se você já é usuário da biblioteca protractor-helper, atualize-a para a mais nova versão (4.1.1) e aproveite esta nova funcionalidade.

E se você escreve testes com o framework Protractor e ainda não utiliza a biblioteca protractor-helper, o que está esperando? Execute npm i protractor-helper -D e instale-a como dependência de desenvolvimento em seu projeto de testes.


Este conteúdo também pode ser encontrado na versão em Inglês no Medium através da seguinte URL https://medium.com/p/release-of-protractor-helper-version-4-1-1-f770bbf362ff?source=email-375212fd9a4a–writer.postDistributed&sk=8e49d93b3ab575a9476ef94fecc2984f.


Até a próxima, e bons testes! 👋

Deixe um comentário