quinta-feira, 1 de outubro de 2015

Automatizando teste de telas com o Selenium

Instalando o Selenium IDE no Firefox

Faça o download do selenium ide para firefox:


Selecione a última versão do plugin (XPI), em 30/9 é a 2.9.0. Ao clicar no link, pode ser exibida uma informação de segurança, clique em permitir, já que confiamos nessa publicação

O Selenium estará disponível para execução através do menu

Utilizando o Selenium IDE para gravação

Abra o Selenium IDE.
Defina a URL Base, do site que irá testar

Garanta que está em modo de gravação, vendo o botão de gravação.

Navegue normalmente no site, utilizando o Firefox, para gerar as ações que deseja automatizar.
Ao terminar, para interromper, clique no mesmo botão de gravação.

Verificações da página (selenese)

É possível fazer uma série de comandos no Selenium (Que são chamados selenese)
Como exemplos:
In selenese, one can test the existence of UI elements based on their HTML tags, test for specific content, test for broken links, input fields, selection list options, submitting forms, and table data among other things. In addition Selenium commands support testing of window size, mouse position, alerts, Ajax functionality, pop up windows, event handling, and many other web-application features.
Tradução:
“In selenese, pode testar a existência de elementos de UI(Interface de Usuário) baseado nas suas tags HTML, testar por conteúdos específicos, testar por links quebrados, campos de entrada (input field), opções no controle de lista de seleção, enviar formulários, e tabela de dados entrou outras coisas. Em adição, comundos Selenium suportam teste de tamanho da janela, posição do mouse, alertas, funcionalidades Ajax, aqbertura de janelas, manipulação de eventos e vários outras funcionalidades de aplicações web. ”
Para utilizar visualmente, clique com o botão direito em qualquer conteúdo da página Web e selecione as opções ao fim do menu de contexto. Há uma opção sugerida e o “Exibir todos os comandos disponíveis”.
Na imagem abaixo foi verificar a existência de um texto em específico em um elemento. É possível localizar elementos de várias maneiras:
  • Localizar por Link e Teste
O Selenium IDE sugere uma localização do elemento, conforme imabem abaixo

 No xpath abaixo, se houver uma mudança do valor, haveria problema no teste.
 
Para isso, iremos fazer o comando ser apenas de seleção, garantindo que ache o elemento. É possível ver uma listagem com todos os comandos disponíveis

Para esse exemplo, iremos utilizar o comando verifyElementPresent com o xpath abaixo e limpar o campo “Valor”, garantindo que o elemento exista, já que o valor nesse caso muda com o tempo.
//div[@class="tile blue"]


É possível fazer teste buscando elementos não visuais, por exemplo, que o arquivo CSS está utilizando uma referência CDN(https://pt.wikipedia.org/wiki/Content_Delivery_Network) na página conforme abaixo:



Referência:

Salvando e Executando o teste

É possível salvar o teste é possível configurar a velocidade (Para reduzir a velocidade para acompanhar a execução a olhando), conforme imagem abaixo:

O resultado é mostrado na barra inferior e com a contagem de sucessos e erros