Parametrização de Dados para Automação de Teste – Parte 1

Introdução

Existem, no nosso script de automação de teste, dados que serão sempre fixos, correto? Alguns exemplos simples são a URL (no caso de automação web) e usuários específicos para executar algumas ações.

E se você precisar alterar a URL informando outro servidor? Ou se a senha do usuário que você sempre utiliza expirou? Você vai ficar trocando isso em todos os scripts de teste?

Este post vai te mostrar como trabalhar com a parametrização de dados básicos, como estes.

 

Parametrização via arquivo de propriedades

Para que você tenha muito menos manutenção no seu código-fonte, por exemplo, na alteração da URL, iremos utilizar um arquivo de propriedades que centralizará todos os dados básicos. Eu chamo de dados básicos aqueles compartilhados entre diversos scripts de teste.

O exemplo a seguir será implementado em Java, mas em outras linguagens a lógica é a mesma. Para isso seguiremos estes passos:

  1. Criação do arquivo de propriedades
  2. Criação da Classe para ler o arquivo de propriedades
  3. Utilização da classe de suporte para utilização no script de teste

 

Criação do arquivo de propriedades

Um arquivo de propriedades em Java é definido como um arquivo texto, com a extensão .properties que guarda uma chave (nome da propriedade) e um valor (valor da propriedade). Comumente quando temos um nome composto para a propriedade utilizamos o ponto (.) para separar as palavras. Abaixo temos um arquivo de propriedade definindo a URL inicial da aplicação.

parametrizacao_arquivo_propriedades

Note que:

  • O nome da propriedade é url.inicial
  • O valor da propriedade é a URL http://eliasnogueira.com/arquivos_blog/post_parametros/
  • O nome do arquivo (que eu dei) é config.properties (note que a extensão é .properties mesmo sendo um arquivo de texto)

Criação da Classe para ler o arquivo de propriedades

Agora precisamos criar uma classe para ler o nome da propriedade e retornar o valor da propriedade.
Visualize o código abaixo (é um trecho de código de uma classe que eu chamei de Utils):

Vou explicar linha a linha o que este método faz:

  • Linha 1: Declaração de um método estático (logo eu explico o porque de ser estático) que retorna uma String (texto) e recebe como parâmetro o nome da propriedade
  • Linha 2: Criação do atributo valorPropriedade, que depois receberá o valor da propriedade referente ao nome da propriedade que passamos por parâmetro
  • Linha 4: Tratamento de excessão (já explico mais adiante)
  • Linha 5: Instanciação da classe Properties (classe Java responsável por trabalhar com os arquivos de propriedades)
  • Linha 6: Lê/carrega o arquivo de propriedades no diretório indicado
  • Linha 8: O properties.getProperty retorna o valor da propriedade para o nome da propriedade passada como parâmetro. Guarda no atributo valorPropriedade
  • Linhas 10 e 11: Caso ocorra algum erro (como o arquivo não existir no diretório indicado ou não for encontrado) exibe um erro na tela/console
  • Linha 14: Retorna o valor da propriedade para o nome da propriedade passadoa

 

Utilização da classe de suporte para utilização no script de teste

Agora vamos aprender como utilizar o método lerPropriedade para passar a URL para nosso script de teste.
Dê uma olhada no código abaixo:

Veja que, na linha 4, ao invés de passarmos para o driver.get a URL completa utilizamos o método lerPropriedade passando o nome da propriedade url.inicial (que está no arquivo properties) que vai nos retornar o valor da propriedade (a própria URL).

Se a URL alterar, ao invés de abrir este script e todos os outros que utilizam esta URL, podemos apenas alterar o arquivo de propriedades e executar o teste 🙂

 

Faça você mesmo!

Se você quiser fazer um exemplo como este, siga estes passos:

  1. Crie um arquivo na raiz do seu projeto chamado config.properties (ou com o nome que você quiser dar). Nele adicione o mesmo nome de propriedade e valor da propriedade do exemplo anterior
  2. Crie uma classe chamada Utils e nela adicione exatamente o método lerPropriedade, bem como está no exemplo. A única alteração que você fará é o local do arquivo. No meu exemplo tem todo um caminho, no seu como você colocou na raiz do projeto apenas coloque o nome do arquivo com extensão (config.properties)
  3. Crie um script de teste e no driver.get coloque a chamada para o método lerPropriedade da classe Utils. A linha será idêntica ao exemplo de código

 

Difícil? Deixe seu comentário!
Até o próximo post! 🙂

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *