Pesquisar este blog

domingo, 19 de julho de 2015

Jenkins + Python + Robot Framework Parte 2


Depois de Configurar o Python e o Robot Framework vamos Instalar e configurar  o Jenkins, antes disso vamos criar uma conta no Bitbucket, segue o link abaixo:
 https://bitbucket.org/

Agora vamos instalar o jenkins, segue o link abaixo e instale a versão de acordo com o seu sistema operacional.

https://jenkins-ci.org/#stable


Versões suportadas


Você pode iniciar o jenkins de forma manual com o seguinte comando:
java -jar jenkins.war
 
No Windows ele vai iniciar o processo junto com o sistema operacional, então precisamos 
somente digitar no browser http://localhost:8080/ , geralmente nos servidores a porta 8080
é muito utilizada, caso você queira mudar de portar inicie ele com outra porta,
segue o comando:
 
java -jar jenkins.war  --httpPort=<numero da porta>

antes de iniciar o servidor, precisamos para o serviço:
net stop jenkins

para mais configurações segue o link abaixo:
https://wiki.jenkins-ci.org/display/JENKINS/Starting+and+Accessing+Jenkins


Agora vamos instalar o Plugins necessário para realizar nosso teste, siga o caminho abaixo
  •  Gerenciar Jenkins - Gerenciar Plugins



Agora ele vai mostrar a tela de Plugins com as seguintes opções Atualizações, Disponíveis, Instalados e Avançado. Seleciona a aba Disponíveis.

  • GIT plugin, Robot Framework plugin, SCM API Plugin, Selenium HTML report, Selenium Plugin.

Agora confirme a instalação, e o jenkins vai iniciar o processo de instalação.

No Windows após a instalação reinicie a maquina.


Agora vamos configurar nosso teste, antes disso vamos instalar o GIT cliente para Windows.
https://git-scm.com/download/win
No linux use o comando abaixo:
sudo apt-get install git

 Segue um tutorial básico do GIT:
http://rogerdudler.github.io/git-guide/index.pt_BR.html

Agora vamos começar nosso build automatizado, a gente vai utilizar nosso WebDemo
da primeira postagem, dessa vez a gente vai fazer tudo remoto.

Selecione os Passos 1. Novo job - 2. Construir projeto de múltiplas configurações - 3. OK


** Não esqueça de colocar um nome ao seu Job/Projeto.

Vamos Primeiramente configurar o GIT:
Selecione as opção 1. GIT 2.  Adicione o caminho do sistema "https://reiload@bitbucket.org/robotframework/webdemo.git" 3. Adicione as credenciais seu login e senha criado no bitbucket.org.




Caso der o erro: Failed to connect to repository : Could not init C:\Windows\TEMP\hudson862793913918641728tmp, precisamos passar o caminho do GIT instalado para o Jenkins, o caminho padrão no windows é "C:\Program Files (x86)\Git\bin" , você adiciona em Gerenciar Jenkins - Configurar o sistema - Git installations - Path to Git executable:


Agora ao voltar para o menu o erro não mais vai aparecer.


Em Trigger de builds, vamos fazer ele consultar periodicamente se houve mudança no servidor, selecione a opção: Consultar periodicamente o SCM, e adicione "*H/5 * * * *" aqui ele vai consultar a cada 5 minutos se houve uma modificação ele vai rodar o build novamente.
No campo Build, vamos adicionar o comando para executar os nossos testes, selecione a opção "Executar no comando windows"

Em Matriz de configuração adicione Rodar cada configuração em sequência, agora vá na opção Build, Clique a opção "Adicionar passo no build" em seguida selecione a opção "Executar shell" se você for executar no Linux e no windows você seleciona a opção "Executar no comando Windows".
No campo texto adicione o comando:
  • pybot --variable BROWSER:Chrome login_tests
Você pode adicionar outros clicando no menos comando novamente adicionando o texto abaixo:
  • pybot --variable BROWSER:IE login_tests
  • pybot --variable BROWSER:firefox login_tests


Em seguida vamos adicionar uma ação após a realização do teste, no campo Ações de pós-build, clique no botão "Adicionar ação de pós-build", selecione a opção "Publish Robot Framework test results", vamos adicionar ao campo Thresholds for build result, como 50% e 100%, como mostra a figura abaixo:

 Após salva o nosso Job, vamos voltar para a tela inicial do Jenkins, em seguida vamos executar nossos testes, siga os passos Coloque o cursor do mouse em cima do nome do nosso projeto e em seguida clique na opção "Construir agora", automaticamente o Jenkins vai começar os testes em background, espere alguns minutos para termino do teste.



Quando executei meus testes a primeira vez houve falha devido ao firewall bloquear o jenkins, adicione o jenkins no seu firewall do windows ou linux como permitido.


Agora vamos melhorar nosso projeto adicionando Matriz de configuração, vai criar uma matriz dividida pelos Browsers que vamos usar firefox | chrome | IE , vamos adicionar o Eixo Definido pelo Usuário , no nome vamos adicionar o valor: BROWSER, no campo Valores vamos adicionar: firefox chrome IE.





Em Matriz de configuração adicione Rodar cada configuração em sequência, agora vá na opção Build, Clique a opção "Adicionar passo no build" em seguida selecione a opção "Executar shell" se você for executar no Linux e no windows você seleciona a opção "Executar no comando Windows".
No campo texto adicione o comando:
pybot --variable BROWSER=$BROWSER login_tests
 
 
Agora nosso projeto esta perfeito, esta mostrando todos os browsers, sendo executado 8 testes para cada Browser.

Caso você não consiga realizar os passos segue um vídeo em english mostrando como se faz.
https://vimeo.com/96527858

sexta-feira, 3 de julho de 2015

Jenkins + Python + Robot Framework


A pouco tempo na Pós-graduação em Testes de Software, o professor passou um trabalho sobre Integração Continua e Build de Testes Automatizado, nesta postagem, fiz o exemplo prático do nosso trabalho, vamos instalar o Jenkins e rodar um teste automatizado em um repositório git nas nuvens, para isso vamos usar o Robot Framework, no entanto vamos fazer em Python como é uma linguagem simples e dinâmica as pessoas que nunca programaram vão aprender com facilidade.

 Apresentação em PDF:
http://www.slideshare.net/reinaldorossetti/integrao-continua-e-b


Primeiro passo precisamos instalar o Python no PC local/Servidor.

1. Instalar o Python no Windows ou Linux:
Baixe o Python no Site abaixo:
https://www.python.org/downloads/

Pelo linux você pode usar o comando:
sudo apt-get install python3

Qualquer dúvida na Instalação acesse o vídeo:
 ** Não esqueça de adicionar a opção "Add python.exe to Path" e depois da Instalação reinicie o computador.


Segundo Passo vamos Instalar o Framework que vai rodar nos nossos testes.

2. Instalar Robot Framework

2.1 No linux vamos instalar o PIP no python pelo comando abaixo:
apt-get update
apt-get -y install python-pip

No Windows fiz um passo a passo no link abaixo:
http://reinaldorossetti.blogspot.com.br/2014/01/instalando-o-selenium-no-python-na.html


2.2 Agora vamos instalar o Framework Robot

Pelo Shell do Linux ou CMD do Windows podemos usar o comando abaixo:
  •     pip install robotframework

Vamos também instalar robotframework e seleniumlibrary, segue o link abaixo para instalar a API, baixe o arquivo de acordo a versão do SO, Win32, AMD64, LINUX:
https://code.google.com/p/robotframework-seleniumlibrary/downloads/list

Pelo Shell do Linux ou CMD do Windows podemos usar o comando abaixo:
  •    pip install robotframework-selenium2library
** Caso não consiga instalar segue o vídeo para instalação no Linux:
https://www.youtube.com/watch?v=vgvCMLNqeqQ

3. Neste passo vamos executar um demo para testar o Robot Framework e o Python.
Baixe o arquivo no site abaixo e extraia o mesmo no C: ou Home do linux.

https://bitbucket.org/robotframework/webdemo/downloads/WebDemo-20130308.zip
ou
https://bitbucket.org/robotframework/webdemo/downloads


Agora vamos executar os seguinte comando no CMD ou Shell do Linux, entre na pasta do webdemo pelo cmd ou shell

3.1 Primeiro vamos executar o servidor, podemos criar um script no notepad++, é somente adicionar os comandos abaixo, save as como .bat na área de trabalho.

cd\
cd webdemo
python demoapp/server.py
pause


** Se executamos o comando antes de iniciar o servidor, vamos visualiza a falha abaixo.


3.2 Agora vamos executar os comando para iniciar os testes, abra outro CMD ou Shell.


pybot --variable BROWSER:Firefox login_tests
pybot --variable BROWSER:Chrome login_tests 

pybot --variable BROWSER:IE login_tests


Nosso primeiro teste passou com sucesso, no entanto o restante dos testes no browser Chrome e IE falhou, neste caso precisamos baixa o driver para executar nesses browser, vamos baixar nos links abaixo e extraia dentro da pasta C:\Python27\Scripts\

http://chromedriver.storage.googleapis.com/index.html?path=2.16/

No chromedriver temos várias versões para Windows, Linux, Mac, instale o driver de acordo com o sistema operacional.

IE Driver:
Download version 2.46.0 for (recommended) 32 bit Windows IE or 64 bit Windows IE

Após extrair os drivers no local correto, vamos re-executar os comandos:
pybot --variable BROWSER:Chrome login_tests
pybot --variable BROWSER:IE login_tests
 
No Chrome nossos testes foram realizados com sucesso, no entanto no IE mostrou o
seguinte erro "This is the initial start page for the WebDriver server."



No IE, vamos Habilitar o Modo Protegido e colocar o nível para Baixo, em sites confiáveis
adicione o http://localhost e salve e feche o IE , isso irá resolver nosso problemas no caso
do IE 11 baixe um o arquivo o .reg e adicione ao registro, o mesmo se encontra no site abaixo:
http://heliumhq.com/files/docs/
 
Agora os Testes funcionaram com sucesso.


4. Agora vamos instalar e configurar o jenkins.

Continua...
 
jenkins-python-robot-framework-parte-2