Olá pessoal! Escrevendo mais um post da série sobre Jenkins, vocês podem conferir outros posts da série aqui -> Deixando o Jenkins fazer o trabalho manual . Neste post vamos executar nossos testes automatizados com Appium e deixar nosso "BBF" Jenkins executá-los.
É necessário ter configurado:
Vamos começar
A aplicação que iremos testar é simples, ela faz o controle de abastecimentos realizados no mês.
Vamos utilizar o Maven e como vimos no post anterior, para isso devemos ter o arquivo pom.xml com nossas dependências.
Criaremos agora nossa classe base para os demais testes:
Então iremos criar nossas pages:
Agora basta criar os testes que utilizarão as pages criadas:
Temos nossos testes funcionando, mas para serem executados ainda precisamos executá-los de forma manual. É nessa hora que o Jenkins vai nos ajudar a executá-los e deixando-nos livres de realizar esse trabalho manual.
Devices (Dispositivos)
Nem sempre temos nossos targets (dispositivos) "plugados" em nosso servidor de integração contínua, nesse caso, irei utilizar o Genymotion para simular um device com a API 22 do Android.
Para adiantar nosso trabalho no Jenkins, vamos executar o seguinte comando no terminal:
| VBoxManage list vms
O resultado da execução desse comando, são os nomes das VM's que possuímos em nossa máquina, no meu caso lista a seguinte VM:
| "Google Nexus 5 - API 22" {1483f101-24a2-45c9-87f2-043de64ca883}
Configurando o Jenkins
Criaremos o nosso projeto no Jenkins.
Agora basta configurar o repositório do projeto, no exemplo, estou utilizando um projeto que está no github.
Vamos configurar para "startar" o emulador do gennymotion.
| /mnt/rafael/desenvolvimento/genymotion/player --vm-name "Google Nexus 5 - API 22"
O comando abre o emulador do Gennymotion, porém tenho que esperar alguns segundos para iniciar a execução dos testes.
OBS.: Caso tenha um dispositivo conectado não é necessário o passo acima.
Configuraremos o Maven com clean e install para executar nossos testes e mandaremos construir nosso build, com isso, finalmente teremos nossos testes automatizados sendo executados pelo Jenkins.
Aqui termino a série de posts sobre Deixando o Jenkins fazer o trabalho manual. Espero que tenham gostado e que o conteúdo dos posts tenham servido para agregar conhecimento e disseminar a troca de informações. Até breve pessoal!