Passos para aprender Automação Web – Parte 3

passos-automacao-web

Está vendo este post pela primeira vez sem ver os demais da série Passos para Aprender Automação Web?
Acesse esta página e leia os posts anteriores 🙂

Introdução

Há diversas APIs/ferramentas de automação de testes para web, cada uma com sua particularidade, funcionalidades e linguagens de programação diferentes.

Este post tem o intuito de te dar uma das dicas mais preciosas para a automação de teste para web: o que aprender em qualquer ferramenta para estar apto a utiliza-la.

Modelo de Aprendizado

Este é o meu modelo de aprendizado quando estou aprendendo uma nova API/ferramenta de automação de teste, não importando a linguagem de programação.

Se você focar nestes quatro itens você terá uma facilidade incrível na utilização da ferramenta, bem como uma maior velocidade no momento da criação do seu script de teste.

Navegação

A navegação é a forma com que a ferramenta irá interagir com o browser web. Isso inclui:

  • Qual browsers web é possível utilizar
  • Como abrir o browser
  • Como abrir uma página
  • Como efetuar uma atualização de página (refresh)
  • Como simular o voltar (back)
  • Como simular o avançar (forward)

Todos estes pontos são básicos para que possamos trabalhar com qualquer browser. O que podemos ter de avançado na navegação é como trabalhar com cookies.

A recomendação aqui é: você precisa aprender a fazer todos estes pontos. Se você não conseguir  nem abrir o browser o script de automação nem irá executar.

Uma dica é procurar o browser recomendado pela ferramenta. Um exemplo prático na utilização do Selenium WebDriver é que o browser “padrão” e suportado totalmente é o Firefox. O GoogleChrome e outros browser só funcionam com algumas linhas de código a mais, o que pode dificultar o aprendizado. Foque sempre no mais fácil! 😉

Interrogação

A interrogação é a capacidade de encontrar um elemento em uma página web.
Qualquer ferramenta bem implementada para a automação de páginas web faz com que você possa localizar um elemento pelas seguintes formas:

Formas de localização:

  • atributo ID
  • atributo name
  • por um nome de elemento
  • por css selector

Algumas ferramentas também dão a possibilidade de localizar elementos através do XPATH.

Minha dica é simples: aprenda a localizar um elemento com a ferramenta selecionada em todas as formas citadas. Na grande maioria dos casos você irá utilizar o atributo ID ou atributo name, mas quando estes atributos não existem ou são dinâmicos você precisa utilizar alguma outra forma.

Manipulação

A manipulação é a capacidade de interação com um elemento web na página. Vou separar em duas partes:

Parte básica

Consiste em efetuar as seguintes interações (ações):

  • clique
  • digitação de texto em um campo
  • limpar o texto de uma caixa de texto
  • pegar o texto de algum elemento

Parte avançada

Consiste em efetuar as seguintes interações (ações):

  • arrastar e soltar
  • mover
  • clicar e segurar
  • soltar (depois que você “clicou e segurou”)
  • chamar alguma menu de contexto (simular o botão direito do mouse)
  • trabalhar com alguma tecla especial e/ou de atalho (F1, ALT, CTRL, etc..)

Minha recomendação é que você primeiro aprenda a interagir com

Sincronização

A sincronização é a capacidade da API/ferramenta de automação aguardar por uma ação. Podemos chama-la carinhosamente de espera!
Geralmente as ferramenta possuem duas abordagens de sincronização com diferentes nomes que vou apresentar abaixo mas com a mesma ação final:

  • Esperar por “qualquer coisa”
  • Esperar quando você disser que tem que esperar

Já abordei um assunto semelhante a este referente a forma de sincronização no Selenium WebDriver. Se você quiser ver um exemplo disso acesse este post.

Vamos a dois exemplos práticos:

Exemplo 1: Você tem de ser capaz de clicar em um botão e esperar até que a mensagem “loading…” desapareça.

ajax_carregando

 

Exemplo 2: você pode selecionar, em um cadastro, o tipo de pessoa que pode ser Pessoa Física ou Jurídica.
Quando você clicar em Pessoa Física o campo CPF é apresentado (ele não estava visível anteriormente).
Quando você clicar em Pessoa Jurídica o campo CNPJ é apresentado (ele não estava visível anteriormente).

ajax_pf_pj

Notem que estes dois exemplos são comuns no nosso dia a dia.
O que você precisa fazer é entender como é a forma de sincronização (espera) da ferramenta que você adotar!

Dica

Se você quiser sempre lembrar deste modelo de aprendizado baixa a imagem abaixo.
Ela poderá te ajudar a sempre lembrar o que é necessário aprender em uma ferramenta de automação para web. Não esqueça de clicar com o botão direito na imagem e selecionar salvar como…

mind_map_modelo_aprendizado

 

Abraços!

 

 

Deixe uma resposta

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