Blog > Inspecionando componentes Android com UIAutomatorViewer

28/jul

Na automação de teste na plataforma Android é necessário interagir com os componentes para que o script possa exercitar o teste proposto. Neste post aprenderemos sobre o UIAutomatorViewer, ferramenta que usaremos para descobrir cada componente e suas propriedades para que possamos criar os scripts de teste de forma rápida e eficaz.

Introdução

Algumas ferramentas/API's de automação para Android necessitam localizar alguns componentes na tela da app. Saber como localizá-las é essencial para criar um teste mais robusto e confiável, além do mais certos tipos de ferramentas (como o Appium) só localizam os componentes em tela através de seus atributos.

O que é o UIAutomatorViewer

O UIAutomatorViewer faz parte das ferramentas do Android SDK para a criação de testes em interface gráfica pertencendo a uma sessão específica dentro do universo Android, o UI Testing.

Esta ferramenta é uma interface visual para inspecionar componentes Android e visualizar as propriedades destes componentes em emuladores ou dispositivos. Com as informações destes componentes poderemos criar testes mais robustos e menos suscetíveis a erros por conta da localização destes.

Porque utilizá-lo?

Em qualquer aplicação que desejamos automatizar é necessário saber como localizar os elementos/componentes na tela para escrevermos o código interagindo com o mesmo. O UIAutomatorViewer é a ferramenta que vai nos mostrar os componentes da app Android que está no emulador ou no dispositivo real, onde poderemos inspecionar suas propriedades e determinar a forma de localização.

Como utilizá-lo?

Primeiro temos que iniciá-lo.

Vá até o diretório \tools e dê um duplo clique no arquivo uiautomatorviewer.bat

Ou abra o Prompt de Comando e digite uiautomatorviewer seguido de um ENTER

Agora é só inspecionar! Existem dois botões que irão capturar a screenshot da tela do emulador/dispositivo:

  • Ícone 1: captura somente os componentes visíveis
  • Ícone 2: captura os elementos visíveis e não visíveis

O recomendado é utilizar sempre o Ícone 1.

Depois é só passar a seta do mouse sobre o componente dentro do UIAutomatorViewer e pronto, ele terá a borda na cor vermelha e suas propriedades aparecerão no canto direito do UIAutomatorViewer.

Dicas na utilização do UIAutomatorViewer

Não ligue a opção Use GPU Host no emulador

Ligar a opção Use GPU Host irá fazer com que a tela no UiAutomatorViewer fique preta, impossibilitando a visualização dos elementos. Você conseguirá passar o mouse sobre os elementos na tela mas eles não aparecerão.

Para que você visualize a tela da aplicação, desmarque esta opção antes de iniciar o emulador.

Você verá os IDs dos componentes apenas nas versões 4.3 ou superior

Os IDs, que no UIAutomatorViewer é apresentado como resource-id só aparecerá para utilização (não somente na visualização desta forma de localização) apenas no Android 4.3 (Jelly Bean API 18) ou superior.

Prefira os seguintes itens, nesta ordem para a localização

  • IDs (resource-id): apresenta o ID (geralmente único) de um componente. É o mesmo ID utilizado internamente pelos desenvolvedores Android para interagir com os componentes no código.
  • Content Description (content-desc): é utilizado como forma de auxílio de acessibilidade a usuários com capacidades físicas ou visuais reduzidas. Esta propriedade trará textos explicando o que o componente faz, e em alguns casos estes textos são sempre os mesmos, servindo como base para localizar um componente
  • Classe (class): quando não possuímos os dois itens acima como base para a localização podemos localizar o componente pelo seu tipo (classe) e encadear a localização de mesmo forma. Ex: localizar o elemento pai para localizar o filho.

Considerações

Neste novo mundo de automação de testes para Android se faz necessário o conhecimento de como identificar os componentes e saber qual o seu tipo, o que podemos fazer e como manipulá-los.

Neste post conhecemos um pouco sobre o UIAutomatorViewer, a ferramenta nativa do Android SDK para inspecionar componentes Android.

É recomendado que você leia também:

POSTS RELACIONADOS

AGENDA

CURSOS RELACIONADOS