Calabash Android – Além dos Canned Steps

foto_post

 

Neste post, aprenderemos a programar novos testes (além dos canned steps já implementados no Calabash) e a manipular aplicações nativas do Android. Esses novos testes são programados em linguagem Ruby dentro do arquivo calabash_steps.

Se você não acompanhou os posts anteriores, acesse os links da Parte 1Parte 2 e aprenda a instalar o Calabash Android em sua máquina. Para aprender a começar um projeto, clique aqui. Para aprender a criar seus primeiros testes, clique aqui. E para uma ótima dica de report, clique aqui.

Derivando os Canned steps

1. Mudando os parâmetros

É possível, através do UI Automator Viewer, buscar elementos através de id’s, descrição, texto e etc.

UI Automator Viewer

UI Automator Viewer

 

Nesse caso de teste, precisamos mudar da aba Pessoas para a aba Serviços. Os ícones não possuem id próprio. Todos os ícones possuem o id “tabTitle”. E agora? O que fazer?

Simples! Buscaremos ele pela content description!

Temos a seguinte implementação para pressionar elementos na tela através do id.

Busca pelo id

Busca pelo id

 

– Como alterar para que passe a buscar pela content description?

Busca pela content description

Busca pela content description

 

Simples assim! Apenas alterando os parâmetros.

O site Testmunk é um grande aliado nessa etapa dos testes.

Manipulando aplicações nativas do Android

1. ADB Shell Input Events

Popup Android

Popup Android

 

Eles funcionarão como um “tab” na aplicação.

O step ficará da seguinte forma:

Step

Step

 

Linha 37: Para selecionar o botão (observar se o botão está selecionado por default).

Linha 38: Mover o foco para a direita, no caso, para o SIM.

Linha39: Selecionar o campo em foco.

Alguns exemplos:

Canned Steps

Implementação de keyevents do Android

 

Para conhecer outros ADB Shell Input Events, acesse o link do StackOverflow.

Habilitar e desabilitar AIRPLANE MODE e Wi-Fi

Utilizando o Calabash, também podemos fazer testes de conectividade. É possível habilitar e desabilitar o airplane mode e wi-fi através das activity_actions.

 1. AIRPLANE MODE

Para habilitar e desabilitar o AIRPLANE MODE, os steps ficam da seguinte forma:

AIRPLANE MODE

AIRPLANE MODE

 

A implementação é da seguinte forma:

Implementação para habilitar o airplane mode

Implementação para habilitar/desabilitar o airplane mode

 

2. Wi-Fi

Para habilitar/desabilitar o wi-fi do aparelho, iremos derivar o que já foi implementado para o AIRPLANE MODE.

– Mudaremos apenas a activity action:

Implementação para habilitar/desabilitar wi-fi

Implementação para habilitar/desabilitar wi-fi

 

Para ver outros activity actions, acesse esse link. E, para mais informações sobre able and disable network, acesse esse link.

No próximo post, aprenderemos como executar os testes automatizados em mais de um aparelho ao mesmo tempo!

Até a próxima!

 

por Letícia Bomfin