[ATUALIZADO] Season Libraries - Ep. 01: Library Faker para informações aleatórias e fakes


Oláááá robotizadores!!! Neste post vamos falar de uma library muito útil para geração de massa de dados para nossos testes automatizados... a Faker Library ... Ela gera nomes, e-mails, senhas, endereços, etc, tudo fake e aleatório a cada execução.




01 - Instalação da FakerLibrary

Simples... no seu prompt de comando rode o comando:

pip install robotframework-faker

02 - Exemplo de Utilização

O código abaixo eu gero algumas informações fakes e aleatórias e as imprimo no LOG. Existem diversas informações aleatórias que você pode usar, veja mais na documentação da FakerLibrary.


A saída da execução do código acima ficou assim (lembrando que a cada execução os dados irão mudar):



DICA EXTRA - Dados BRASILEIROS (pt_BR)

Os dados também podem ser gerados com informações brasileiras!!! O que muda é que você precisa instanciar a library com um parâmetro de localidade, veja:


A saída da execução do código acima ficou assim (lembrando que a cada execução os dados irão mudar):



Veja esses exemplos no meu GitHub!!!!

Agora sua massa de dados pode ficar mais poderosa!!! Bora robotizar!! Até a próxima robotizadores!!!


Comentários

  1. Respostas
    1. Mayara
      Tudo bem, não tem como eu puxar nomes randomicos sem ser br, pois se eu defino a locale em outra file com en_US, ele puxa da minha main que esta com pt_BR, sendo assim eu não consigo definir um parâmetro, pois ele sempre vai puxar da que esta declarada primeiro

      Excluir
  2. Respostas
    1. Siiim, consegue gerar sim, no link ali da documentação dela tem todos os possíveis dados fakes que ela é capaz de gerar, dê uma olhadinha!! Sobre o erro, consegue enviar no nosso grupo https://t.me/joinchat/FEKww_-RkneSC5hh ?

      Excluir
    2. Vi que meu comentário saiu duplicado, acabei excluindo o errado hehe.
      Eu não consegui entender direito como declarar no meu código, para gerar os dados aleatórios e posteriormente conseguir usar no formulário de login.

      Vou entrar no grupo :)

      Excluir
  3. Eu consigo usar essa library pra criar dados de login aleatórios?
    Não consegui aplicar no código, pode me ajudar?

    ResponderExcluir
  4. Olá, May!

    Estou tentando usar a FakerLibrary, instanciei ela, fiz a instalação via pip install mas quando executo o teste, o campo de e-mail é preenchido com FakerLibrary.Email ao invés de um e-mail fake.
    Poderia me ajudar, por favor? Obrigada!

    ResponderExcluir
    Respostas
    1. Olá!!! Veja se não está usando as keywords da Faker na seção *** Variables ***, ali elas não funcionam!! Use dentro de uma keyword na seção *** Keywords ***!

      Excluir
  5. Olá, Mayara.

    Não sei por qual motivo, ao fazer o input, está escrevendo o FakerLibrary.Name ao invés de gerar o nome aleatório.
    Teria alguma dica?

    Estou seguindo esse padrão:

    No Settings está como:

    Library FakerLibrary locale=pt_BR

    Esse mapeamento está na keyword:
    Input Text ${inputCadNomeUser} FakerLibrary.Name

    ResponderExcluir
    Respostas
    1. O correto é assim:
      ${NOME} FakerLibrary.Name
      Input Text ${inputCadNomeUser} ${NOME}

      Excluir
  6. Olá!!

    FakerLibrary.Name é uma keyword da Library Faker e ela tem um retorno de valor. Você precisa chamar ela primeiro, armazenar o valor em uma variável (como eu mostro no exemplo) e daí então usar essa variável no input ou onde precisar.

    ResponderExcluir
  7. Obrigado.
    tudo certo e rodando 100% robotizado..hehe

    ResponderExcluir
  8. Olá, queria saber se consigo usar o Email gerado pela FakeLibrary pra executar o cenário de Login posteriormente. Como funcionaria?

    ResponderExcluir
    Respostas
    1. Assim como mostrado no exemplo, você guarda o valor aleatório que a Faker gera em uma variavel, basta usá-la onde precisar! Use Set Global Variable para deixá-la visível em toda a execução!

      Excluir
  9. Oi Boa Noite, como posso usar isso no Apiium para automatizar mobile? Muito Obrigado.

    ResponderExcluir
    Respostas
    1. A Faker pode ser utilizada em qualquer projeto de testes automatizados, ela gera valores aleatórios e falsos, guarde em variáveis e use essas variáveis onde precisar!

      Excluir
  10. Oi, tudo bem? Então, eu usei o "Faker Phone Number" e ele gerou corretamente os números, porém são números estrangeiros. Dessa forma, o sistema não valida. Eu já até usei o "locale=pt_BR", mas ainda assim ele gera números internacionais. O que eu posso fazer?

    ResponderExcluir
    Respostas
    1. Aqui para mim ele gerou OK (DDD) 0000-0000, assim: (084) 5012-3716, claro que ele não sabe que em alguns estados já são 5 dígitos, daí talvez teria que manipular e adicionar um caracter a mais ou usar random number pra montar um telefone.

      Excluir
    2. Criei uma keyword pra ajustar o número que retorna na Faker Library locale=pt_BR, espero que ajude. só não retorna o país

      Formatar telefone
      [Documentation] Trata o número de telefone retornado pela FakerLibrary, uma vez que pode vir em diferentes padrões. Retorna um dicionário com DDD e número.
      [Arguments] ${TELEFONE}
      ${TELEFONE} Replace String ${TELEFONE} ${SPACE} ${EMPTY}
      ${TELEFONE} Replace String ${TELEFONE} ( ${EMPTY}
      ${TELEFONE} Replace String ${TELEFONE} ) ${EMPTY}
      ${TELEFONE} Replace String ${TELEFONE} + ${EMPTY}
      ${TELEFONE} Replace String ${TELEFONE} - ${EMPTY}

      ${DDD} Get Substring ${TELEFONE} 2 4
      ${NUMERO} Get Substring ${TELEFONE} 4

      ${FORMAT} Create Dictionary
      ... numero=${NUMERO} ddd=${DDD}

      [Return] ${FORMAT}

      Excluir
  11. MAY bom dia, eu não consigo utilizar a FakerLibrary como variável global, teria como ?

    EX:
    ***Variables***

    ${EMAIL} FakerLibrary.email

    ResponderExcluir
    Respostas
    1. Não consegue mesmo Eric, nenhuma keyword pode ser chamada da seção Variables, lá somente declaramos valores constantes para variáveis globais.

      Excluir
  12. Olá boa tarde!
    Estou com erro ao utilizar os dados brasileiros do faker, eu fiz a instância utilizando o locale=pt_BR, porem quando vou chamar o método para gerar o cpf, ou cnpj ou qualquer dado brasileiro ele não encontra. Alguém poderia me auxiliar ?

    ResponderExcluir
    Respostas
    1. Dá um pulo no grupo, lá podemos ajudar, vc compartilha código etc:

      https://t.me/joinchat/GysrsxRCsMM--5EkkguYYQ

      Excluir
  13. Boa tarde,

    Preciso passar um faker de name concatenado com um getDate, como posso fazer isso? Obrigado

    ResponderExcluir
  14. Teria como definir um tamanho específico pra informação preenchida?

    ResponderExcluir
  15. Olá, May!

    Não cosigo usar o FakerLibrary.cpf, apesar do FakerLibrary.Name estar funcionando na mesma Keyword

    Mostra o erro:
    No keyword with name 'FakerLibrary.cpf' found. Did you mean:
    FakerLibrary.Zip
    FakerLibrary.Psv
    FakerLibrary.Csv
    FakerLibrary.Prefix

    ResponderExcluir
  16. Este comentário foi removido pelo autor.

    ResponderExcluir
  17. Este comentário foi removido pelo autor.

    ResponderExcluir
  18. como converter a data aaaa-mm-dd para dd-mm-aaaa ? alguém consegue me ajudar ?

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Novo Curso: Robot Framework com Playwright e GitHub Actions

Season WEB Testing - Ep. 03: Open Browser - Chrome Options