Blog > Appium - Trabalhando com botões ou teclas específicas

23/mai

Automatizar uma app simulando o uso na tela (preenchimentos, cliques, etc…) é usual e já conhecemos bem, mas quando é necessário algo diferente como ajustar o volume, clicar no botão de power ou mesmo no voltar? Vamos aprender de forma muito aplicada a automatizar botões ou teclas específicas.

Introdução

Automatizar uma app simulando o uso na tela (preenchimentos, cliques, etc…) é usual e já conhecemos bem, mas quando é necessário algo diferente como ajustar o volume, clicar no botão de power ou mesmo no voltar?

Vamos aprender de forma muito aplicada a automatizar botões ou teclas específicas.

 

Método

Tudo inicia por um método no driver chamado pressKeyCode.
Este método recebe um número inteiro referente ao código da tecla que queremos simular

Como não é legível colocar um código de um botão ou tecla específica usamos uma classe de suporte (interface) chamada AndroidKeyCode.

Ela possui uma série de nomes que irão retornar o código daquela botão ou tecla. Assim o código fica mais legível.

Você pode acessar o link abaixo e descobrir todos os códigos (nomes) da classe AndroidKeyCode. E é nesta página que você terá detalhes de cada botão ou tecla.

http://appium.github.io/java-client/io/appium/java_client/android/AndroidKeyCode.html

 

Exemplo

Nós iremos simular o volume em um app simples: sempre que pressionarmos as teclas para aumentar ou diminuir o volume uma barra vai avançar e o percentual o volume será apresentado.

Abaixo estou utilizando o emulador Genymotion para este exemplo:

Analisando a interface AndroidKeyCode temos os seguintes códigos para aumentar e diminuir o volume

Ação Código
Aumentar o volume AndroidKeyCode.KEYCODE_VOLUME_UP
Diminuir o valume AndroidKeyCode.KEYCODE_VOLUME_DOWN

Agora é só utilizar o método pressKeyCode passando o código referente a cada tecla:

Caso de Teste

Usaremos o seguinte cenário para automatizar, levando como base que a app quando aberta já coloca o dispositivo em mudo:

  • Aumentar o volume simulando o botão de aumento de volume e validar o texto “Volume: 14%"
  • Diminuir o volume simulando o botão de diminuir o volume e validar o texto “Volume 0%"

App de exemplo

A app para este exemplo pode ser obtida aqui.

Código de Exemplo

Parte do código está omitido. No exemplo abaixo só está o código relevante ao caso de teste:

Teclas conhecidas do dispositivo

Existe uma série de botões e teclas disponíveis na interface AndroidKeyCode. Abaixo segue a lista das mais utilizadas durante a automação de um dispositivo Android que são as teclas físicas ou virtuais do dispositivo.

Tecla O que faz?
AndroidKeyCode.BACK Simula a tecla de voltar
AndroidKeyCode.KEYCODE_APP_SWITCH Simula a tecla de apps recentes
AndroidKeyCode.HOME Simula a tecla de home

POSTS RELACIONADOS

AGENDA

CURSOS RELACIONADOS