quinta-feira, 24 de março de 2011

Integração contínua - Parte II - Automatizando testes

"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  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  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  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:

  1. 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.

  2. 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".
  3. Figura 1 - Criando um projeto

  4.  Agora em "Construção" e selecione "Executar comando do Windows" no ComboBox.Também é posível executar um comando de Shell do GNU/Linux.
  5. Figura 2 - Comando Window
  1. 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.
  1. Para finalizar basta clicar no botão "Salva"  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:


  1. 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.
     
  2. Em "Gerenciar Hudson" procure pela opção " Selenium Remote Control", indique o endereço de selenium-server e salve.
  3. Figura 3 - Selenium Remote Control
  4. Clique em "Nova Tarefa" selecione a opção "Construir um projeto de software free-style" e clique em "OK".

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

  6. Figura 4 - SeleniumHQ Plugin
  7. 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.
      1.  Salve as novas configurações e execute a construção.


      Nenhum comentário:

      Postar um comentário