Integração contínua - Parte II - Automatizando testes
Autor: Rômulo Campos | Publicado: 2011-03-24T07:05:00-07:00

"Selenium IDE é um ambiente integrado de desenvolvimento para scripts de testes automatizados. Ele é implementado como uma extensão do Firefox e permite gravar, editar e depurar os testes.O&nbsp; Selenium IDE inclui o Selenium Core , permitindo que você facilmente e rapidamente possa gravar e reproduzir os testes no ambiente real que será executado." (http://seleniumhq.org/projects/ide)
É muito simples criar seus scripts de testes utilizando o Selenium IDE por ser uma ferramenta gráfica integrada com o Firefox. Além de falicitar a escrita e execução de testes de sistema a ferramenta também simplifica&nbsp; os testes de regressão, já que a qualquer momento pode-se realizar um mesmo teste nas novas versões do sistema.
A escrita dos scripts de maneira gráfica é simples, com o Selenium IDE aberto basta clicar com o botão direito em cima do elemento e adicionar o evento, originalmente o script é gerado em HTML mas pode ser exportado para C#, PHP, Java e outras linguagens.
O Selenium RC é um servidor escrito em java. Ele recebe chamadas http, executa os testes e envia de&nbsp; volta para o seu programa os resultados. As chamadas vem dos testes unitários, como junit, por exemplo). 
"Selênio RC vem em duas partes.
Um servidor, que executa automaticamente e e atua como um proxy HTTP para solicitações web a partir do browser. 


Bibliotecas cliente para a linguagem de programação favorita." (http://seleniumhq.org/projects/remote-control)

Primeiramente vamos automatizar testes escritos utilizando o Selenium IDE e exportados com a propria ferramenta para o formato HTML.Os seguintes passos devem ser executados:
Faça o downlod do Selenium RC no site oficial (site), crie o diretorio "C:\selenium" e salve o arquivo no mesmo, crie também o diretório "C:\selenium\testes" e salve seus scripts de testes escritos pelo Selenium IDE.


Abra o Hudson e crie uma nova tarefa, dê um nome, selecione a opção "Construir um projeto de software free-style" e clique em "OK".



Figura 1 - Criando um projeto


&nbsp;Agora em "Construção" e selecione "Executar comando do Windows" no ComboBox.Também é posível executar um comando de Shell do GNU/Linux.


Figura 2 - Comando Window
No campo que se abriu iremos adicionar o seguinte comando: 

java -jar C:\selenium\selenium-server.jar -htmlSuite "*firefox C:\Program Files (x86)\Mozilla Firefox\firefox.exe" "http://www.google.com" "C:\selenium\testes\testehtml.html" "C:\results.htm"
  
Estamos invocando o selenium server, a opção - htmlSuite indica que executaremos uma Suite de testes criadas com o Selenium IDE, os demais parametros indicam respectivamente: o browser, a URL inicial dos testes, o script de testes e o endereço de arquivo de resultados.Você deve alterar o endereço do browser, do aquivo script de teste e resultados conforme suas necessidades.
Para finalizar basta clicar no botão "Salva"&nbsp; e em seguida "Construir Agora" para executar os testes do arquivo "C:\selenium\testes\testehtml.html".

Existe o plugin SeleniumHQ htmlSuite (página), que simplifica a tarefa que acabamos de executar. O plugin deve ser instalado através do "Gerenciador de plugins" do Hudson. Depois de instalar o SeleniumHQ htmlSuite ele deve ser configurado através dos seguintes passos:

Faça o downlod do Selenium RC no site oficial (site), crie o      diretorio "C:\selenium" e salve o arquivo no mesmo, crie também      o diretório "C:\selenium\testes" e salve seus scripts de testes      escritos pelo Selenium IDE.
&nbsp;
Em "Gerenciar Hudson"      procure pela opção " Selenium Remote Control", indique o      endereço de selenium-server e salve.


Figura 3 - Selenium Remote Control
 
Clique em "Nova Tarefa" selecione a      opção "Construir um      projeto de software free-style" e clique em "OK". 


Agora em "Construção" e selecione "SeleniumHQ htmlSuite Run" no ComboBox.




Figura 4 - SeleniumHQ Plugin 
Basicamente o SeleniumHQ      invoca o SeleniumRC e passa parâmetros, estes são os mesmo indicados no      script de comando Windows ou para o Shell do Linux, aqui a tarefa é      simplifica pela interface, conforme mostrado na figura 5:


Figura 5 - Configurando SeleniumHQ

Em browser deve-se indicar      qual será usado: Firefox, Intenet Explore, Chrome ou outro.Também é      necessario indicar o endereço completo para o brownser se não existir um      path para o mesmo. 
startURL indica a página      inicia onde os testes serão executados.

suiteFile é o arquivo onde      os testes estão escritos, ou uma suite que invoca vários arquivos de      teste.

resultFile é o arquivo      onde será salvo o resultado da execução.

other é destinado a outros      argumentos como, por exemplo, -timeout.
&nbsp;Salve as novas      configurações e execute a construção.