Deixando o Jenkins fazer o trabalho manual - Parte 3 - Mobile

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!

Rafael Chiavegatto

Analista de testes na FPF tech, possui mais de 7 anos de experiência em testes. Conhecimento em metodologias ágeis, automatização de testes, agile testing e da cultura DevOps.

Manaus - Amazonas