Como criar dados randômicos para seus testes de API com Java Faker e REST-Assured

Rodrigo Fragoso
Revista DTAR
Published in
3 min readJun 4, 2021
https://fotografias-compromiso.atresmedia.com/clipping/cmsimages02/2020/03/04/85451EA1-A8CC-48CC-A8B7-4830F94E115C/58.jpg
compromisso.atresmedia

No mundo tecnológico, é fato que o fake ou faker é uma biblioteca bem comum entre diversas linguagens de programação e bastante utilizada por desenvolvedores e QA’s. Está biblioteca pode gerar diversos dados e isso é bem útil quando em alguns testes precisamos utilizar informações randômicas, sem repetições.

A palavra fake, traduzida do inglês, significa“falso”.

Podemos exemplificar fakes como informações, contas ou perfis usados na internet para se passar por alguém, ou espalhar uma informação que não é verdade, o famosa “Fake News”.

Java Faker

Descobri o Java Faker, devido a uma necessidade/curiosidade nos estudos do curso #DTAR. No momento da dúvida fiquei pensando:

“Será que o Java não tem uma biblioteca parecida com o faker do node?”

Então realizei uma pesquisa e encontrei esta biblioteca, que tem a função similar a do node e que ela vem portada de uma gem do Ruby que gera dados falsos que podem ser utilizados em diversos tipos de testes.

Quais informações podem ser geradas?

Bom, agora que já sabemos que é um gerador de dados fake, vou listar a seguir alguns tipos de dados que esta biblioteca pode gerar, facilitando a obtenção de dados válidos para nossos testes:

  • Endereço: AP 5 200 Vicente Machado, Curitiba, PR 82710–000
  • Nome: Rodrigo Fragoso
  • Cartão de crédito: 3474–113664–95928

E outros dados peculiares como:

  • DragonBall : Shenlong
  • GameOfThrones : Dickon Frey
  • LeagueOfLegends : Kayle

Usando o Java Faker nos testes com REST-Assured

Vamos começar instalando o Java Faker em seu projeto Java Maven.

Adicione o código abaixo no seu arquivo pom.xml.

<dependency> 
<groupId> com.github.javafaker </groupId>
<artifactId> javafaker </artifactId>
<version> 1.0.2 </version>
</dependency>

Após o download da dependência, instancie o Faker na sua classe de testes:

Faker faker = new Faker();

Caso você necessite gerar dados no idioma Português do Brasil, faça o seguinte:

Faker faker = new Faker(new Locale("pt-BR"));

Exemplo prático com REST-Assured

No exemplo abaixo, requisito a API de cadastrar e listar um usuário por ID, do servidor REST: serverest.dev.

No código abaixo (linha 4), gero o faker “primeiro nome” de uma pessoa, atribuindo-o a variável name. Na linha 11, utilizo esta variável criada para definir o nome do usuário e seu respectivo e-mail.

Concluindo

O exemplo acima demonstra como usar dados fakes em testes de API usando o REST-Assured, porém o Java Faker pode ser usado em outros níveis de testes (Unitários, UI, etc). Vale ressaltar que esta biblioteca colabora muito com a vida dos desenvolvedores e QA’s, pois acelera a geração de diversos tipos de massas e de forma dinâmica, deixando para a biblioteca todo o trabalho que teríamos para gerenciar estas informações.

Agradecimentos

Agradecer ao meu mentor Júlio de Lima que me ensinou e ensina as melhores práticas do mercado sobre testes e pela oportunidade de poder publicar meu artigo na revista DTAR e agradecer muito aos meus colegas Bruno Pulis, Erika Ortencio, Gabriel Santos, Rafael Peixoto e Tainara Reis pela grande ajuda na revisão do material.

Referências

--

--