uiautomatorviewer tutorial
Este tutorial explica como baixar, instalar e configurar o UIAutomator e como usar o UIAutomatorViewer para inspecionar o elemento no aplicativo Android:
O Google forneceu suas próprias ferramentas de automação de teste do Android, e UIAutomatorviewer é uma delas. Se você tem uma ideia sobre o Selenium, será fácil entender o UIAutomator.
Este tutorial lhe dará uma explicação detalhada do UIAutomator junto com sua instalação, configuração, componentes, comandos, programa de teste de amostra e algumas das perguntas frequentes mais frequentes.
Vamos explorar!!
perguntas e respostas da entrevista de desenvolvedor java
O que você aprenderá:
- O que é UIAutomatorViewer?
- Como inspecionar os elementos da interface do usuário no Android
- Conclusão
O que é UIAutomatorViewer?
UIAutomatorViewer vem como parte do gerenciador do Android SDK e é uma ferramenta GUI (interface gráfica do usuário) do inspetor de IU que nos ajuda a inspecionar os elementos de IU de um aplicativo Android.
A inspeção de um aplicativo é importante, pois precisamos de localizadores como IDs de recursos, classe, texto de um componente de aplicativo Android para automatizar o aplicativo.
Uma captura de tela XML da tela atual será obtida pelo UIAutomatorViewer. Ao clicar em qualquer elemento da tela, podemos conhecer a classe que se pretende representar, o elemento da tela e todas as propriedades listadas no lado direito da ferramenta.
A hierarquia de objetos é a ordem dos objetos em que são definidos. Por exemplo ,uma classe é filha de outra classe. Ele é colocado na parte superior direita da ferramenta.
Usando UIAutomator, você pode escrever casos de teste de automação para aplicativos Android. Esses testes serão executados na camada de IU do aplicativo. Você pode simular cada ação que um testador executa manualmente, por exemplo , verificando o login.
Instalação
Você pode instalar essa ferramenta de duas maneiras.
# 1) Android Studio
Se você trabalha frequentemente com teste / desenvolvimento de aplicativos Android, pode instalar o Android Studio.
Ele tem todas as ferramentas de construção, plataforma e SDK. Assim, ao instalar o Android Studio, você obterá todas as ferramentas com ele. É sugerido que você escolha o Android Studio apenas se tiver um bom laptop / PC. Porque requer uma quantidade considerável de RAM em seu PC e precisa de 4 a 5 GB de dados para baixar e instalar todos os requisitos. Mas você obterá tudo com apenas um clique.
# 2) Apenas ferramentas de linha de comando
Se você só precisa de ferramentas relacionadas a testes, pode baixar apenas o gerenciador do Android SDK.
Neste tutorial, seguimos o segundo método, pois o primeiro método é bastante direto.
Abra isto URL e role para baixo até o cabeçalho Apenas ferramentas de linha de comando, em seguida, clique no link do arquivo de download adequado com base no sistema operacional de sua máquina. Veja a imagem abaixo para referência.

Para executar um programa, precisamos ter ferramentas Android SDK, ferramentas de plataforma, plataformas e ferramentas de compilação.
- Abrir Ferramentas e clique no ferramentas de plataforma vincule e baixe os arquivos.
- Crie uma pasta chamada AndroidSDK e extraia as ferramentas baixadas e as ferramentas da plataforma aqui.
- Dentro das ferramentas, você encontrará um android.bat pasta, clique ou execute o arquivo bat e a janela Android SDK Manager será exibida. Selecione a versão de plataforma necessária, por exemplo, Android 25 relacionado e clique em instalar. Você precisa selecionar plataformas e construir ferramentas para a versão necessária da API Android.
- Aceite os termos e condições. Baixe e instale plataformas e ferramentas de construção. Certifique-se de que todos os arquivos necessários estejam na pasta AndroidSDK.
Junto com o Android SDK, precisamos de mais algumas coisas para começar, conforme mencionado abaixo.
Ferramenta Formiga:
A ferramenta Apache será usada para compilar e construir um código escrito. Usando a ferramenta Ant, podemos gerar um arquivo JAR que é um arquivo Java Archive. Usando o arquivo jar, o conjunto de automação / casos de teste serão executados.
=> Instale o Apache Ant aqui
Eclipse IDE e Java:
Esperamos que você tenha Eclipse IDE e editor para construir nosso código e Java instalado em seu PC. Caso contrário, instale a versão mais recente do Eclipse de aqui
Precisamos de uma linguagem para escrever nossos casos de teste de automação e usamos Java para automatizar nossos testes.
= > Instalar Java aqui
Configuração
A próxima coisa que precisamos fazer é adicionar uma variável de ambiente para o gerenciador do SDK. Você pode usar essa ferramenta sem adicionar a variável de ambiente também, mas o problema é que você não pode usá-la em qualquer lugar do sistema.
Você poderá acessá-lo apenas na pasta em que o instalou. Portanto, é melhor adicionar variáveis de ambiente ao SDK para acessá-lo em qualquer lugar. Agora crie variáveis de ambiente para Ant, Android SDK e para Java. Adicione todos eles à variável de caminho.
Para fazer isso, navegue até Sistema -> Configurações avançadas do sistema -> guia Avançado -> Variáveis de ambiente -> Clique em Novo na seção Variáveis do sistema. Esta navegação pode variar de sistema para sistema.
Variável de sistema de exemplo para caminhos:
ANDROID_HOME: F: Workspace SDK

ANT_HOME: C: apache-ant-1.10.5

JAVA_HOME: C: Program Files Java jdk1.8.0_111

Agora adicione todas essas variáveis de sistema ao caminho, conforme mostrado no exemplo abaixo.
% ANDROID_HOME%;% ANT_HOME%;% JAVA_HOME%
Acerte o Aplicar botão e então o OK botão.
Agora temos toda a configuração pronta.
Antes de iniciar nosso código, primeiro precisamos ter certeza de que o dispositivo Android está pronto para executar testes nele. Para isso, precisamos habilitar as opções de desenvolvedor se ainda não estiver habilitado.
Habilitando as opções do desenvolvedor no Android:
- Abra as configurações do telefone e navegue até 'Sistema' e então para 'Sobre telefone' seção.
- Lá você encontrará “Número da construção” .
- Toque no número da versão cinco vezes.
- A opção do desenvolvedor será habilitada e você pode vê-la no 'Sistema' .
- Abra as opções do desenvolvedor e ative “Depuração USB” e “Verificar aplicativos por USB” .
Como inspecionar os elementos da interface do usuário no Android
Abra o prompt de comando em qualquer lugar e digite o comando uiautomatorviewer. Observe que não há espaços no comando e é apenas uma palavra. Se você configurou o SDK corretamente, a janela UIAutomator será aberta. Caso contrário, verifique se a instalação e configuração foram feitas corretamente.

Vamos ver o uso de cada elemento circulado, um por um.
# 1) Na faixa superior, clique no segundo ícone da esquerda para a direita, ou seja, o ícone da captura de tela. Na imagem mostrada, ele é marcado como aquele que está circulado em vermelho.
#dois) Você pode salvar a captura de tela atual, bem como o arquivo de despejo da IU para fins futuros. Os arquivos salvos podem ser abertos usando o ícone de pasta na parte superior.
# 3) Esta seção contém todas as informações relacionadas à hierarquia da IU. Você pode pesquisar usando a caixa de pesquisa fornecida. Expanda / reduza a hierarquia. Percorra entre os objetos usando as setas para cima e para baixo.
# 4) “Detalhes do nó” é o lugar onde obtemos informações sobre um elemento da IU.
Ele mostra todas as informações necessárias sobre o elemento como sua acessibilidade, visibilidade e diferentes localizadores como nome da classe, texto, id do recurso, descrição do conteúdo, etc. Usando o qual precisamos acessar o elemento na automação.
Depois disso, a tela terá a aparência mostrada abaixo.

Clique na caixa de pesquisa do Google no dispositivo e faça novamente uma captura de tela usando o UIAutomatorViewer.
No PC, clique nos componentes da IU exibidos e observe. A ferramenta detecta o componente selecionado e mostra os detalhes do componente. O componente de IU selecionado será destacado com uma caixa vermelha no lado esquerdo da tela.

Programa de teste de amostra
Criando um projeto de teste e classe no Eclipse:
Abra Eclipse IDE em seu PC e clique em Arquivo -> Novo -> Projeto Java . Uma janela de criação de projeto será aberta, insira o nome do projeto por exemplo “UiAutomator_Demo”. Deixe todas as configurações padrão como estão e clique no botão Concluir duas vezes. Agora seu projeto foi criado.

O projeto criado será exibido no lado esquerdo do IDE. Clique com o botão direito no nome do projeto onde você precisa selecionar Novo -> Classe e na janela aberta para inserir o nome da classe, por exemplo, Faça um DemoTest e aperte o botão Concluir.
Adicionando Jars ao Projeto
Devemos adicionar todas as bibliotecas que usamos ao automatizar os testes.
# 1) Clique com o botão direito no nome do projeto no Eclipse e selecione “Propriedades” .

#dois) Uma nova janela com propriedades será mostrada, selecione “Caminho de construção Java”.
# 3) Clique no menu Bibliotecas e clique no “Adicionar jarras externas” botão.

# 4) A janela do gerenciador de arquivos será aberta. Navegue até a pasta onde você instalou o SDK. Selecione android.jar e uiautomator.jar e, em seguida, clique no botão Aplicar e feche a janela adicional.

Neste teste, vamos realizar uma pequena operação na pesquisa do Google para ver se os resultados são exibidos de acordo com nossa consulta de pesquisa.
Abaixo estão as etapas envolvidas para realizar as etapas:
- Clique na caixa de pesquisa do Google.
- Insira uma consulta de pesquisa, por exemplo, Ajuda de teste de software
- Pressione o botão Enter e verifique se os resultados contêm o link do site de Ajuda do Teste de Software
Então, essas são as etapas que executamos manualmente.
Vamos automatizar o mesmo.
package com.android.uiautomation; import com.android.uiautomator.core.UiDevice; import com.android.uiautomator.core.UiObject; import com.android.uiautomator.core.UiSelector; import com.android.uiautomator.core.UiObjectNotFoundException; import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class DemoTest extends UiAutomatorTestCase{ public void testApps() throws UiObjectNotFoundException, InterruptedException { getUiDevice().pressHome(); //Step1 UiObject searchBox = new UiObject(new UiSelector().resourceId ('com.google.android.googlequicksearchbox:id/search_edit_frame')); searchBox.clickAndWaitForNewWindow(); //step2 UiObject searchBar = new UiObject(new UiSelector().resourceId ('com.google.android.googlequicksearchbox:id/search_box')); searchBar.setText('SoftwareTestingHelp'); //step3 UiDevice device = getUiDevice(); device.pressEnter(); Thread.sleep(3000); //step4 UiObject results = new UiObject(new UiSelector().textContains('Software Testing Help')); //step5 if(results.exists()){ System.out.println('Passed: Result has been shown for software testing help'); } else{ System.out.println('Failed: Result were not shown for software testing help'); } getUiDevice().pressHome(); } }Vamos explorar o snippet de código acima.
Importamos todos os módulos necessários para nosso programa.
Passo 1 : Armazenando a id do recurso da caixa de pesquisa do Google em um UiObject e executando a operação de clique.
Passo 2 : Inserir o texto na caixa de pesquisa e pressionar Enter
etapa 3 : Verificando se os resultados da pesquisa contêm o site de Ajuda do Teste de Software. Imprimir 'Passado' mensagem para o console se o texto desejado existir; caso contrário, imprima a mensagem “Falha”.
Lista de comandos
# 1) Crie um projeto de teste
Android criar uitest-project –t -p
Este comando cria um arquivo build.xml que será usado posteriormente para geração de Jar.
o que é um arquivo .7z
O parâmetro -t usa a versão do Android como parâmetro. Você precisa especificar qual versão do Android pretende testar. Exemplo: android-25, ou seja, estamos direcionando para a versão Android 7.
O parâmetro -p é onde você precisa mencionar seu caminho para o projeto. Exemplo: D: Workspace UiAutomator_Demo
-n é o nome do projeto Exemplo: UiAutomator_Demo
# 2) Crie seu código-fonte
Conforme mencionado anteriormente, usaríamos o Apache Ant como uma ferramenta de construção para compilar nosso código-fonte e gerar um arquivo JAR executável.
Construção de formiga
Se não houver erro na hora da compilação, uma mensagem será mostrada no console “A construção foi bem-sucedida” .
Então você pode encontrar o arquivo jar executável no sou pasta do seu projeto com o nome especificado no momento da execução do primeiro comando. Se houver algum problema em seu código, os erros serão mostrados no console e o arquivo JAR não será gerado.
# 3) Enviar arquivo JAR gerado para o dispositivo
Adb push / data / local / tmp /
Exemplo: adb push D: Workspace UiAutomator_Demo bin UiAutomator_Demo.jar / data / local / tmp /
Como os testes UiAutomator são executados com base no arquivo JAR enviado para o dispositivo, precisamos primeiro enviar nosso arquivo jar para o dispositivo. Para isso, usaremos o comando adb push.
Este comando tem dois parâmetros - um é o arquivo que deve ser enviado ao dispositivo Android e o outro é o caminho de destino.
O segundo argumento para este comando é o caminho de destino onde nosso arquivo deve ser enviado. Em nosso caso, deve ser / data / local / tmp /
# 4) Execute o teste
Agora, temos tudo pronto. A única coisa pendente é executar nosso teste.
Teste de execução do uiautomator do shell Adb –c
Exemplo: adb shell uiautomator runtest UiAutomator_Demo.jar –c com.android.uiautomation.DemoTest
Se você não souber como obter o nome qualificado da classe, siga o processo abaixo:
Em seu Eclipse, clique na lista suspensa de seu projeto e analise a classe onde seu código de teste está presente. Aqui a classe é o DemoTest. Clique com o botão direito no nome da classe. Uma janela será aberta, clique no “Copiar nome qualificado” .

Assim que você clicar neste comando no prompt de comando, o teste começará a ser executado e agora você pode ver o teste sendo executado no dispositivo.
FAQs
P # 1) A configuração do caminho para o SDK é obrigatória?
Responda: Não, mas é aconselhável definir o caminho, pois se você não definir o caminho do SDK nas variáveis de ambiente, só poderá acessar os arquivos do local onde está instalado.
Portanto, para acessar seu SDK em qualquer lugar, você precisa definir o caminho. Não só para SDK, mas também é aconselhável seguir o mesmo para Java e Ant.
Q # 2) Por que UIAutomatorViewer está mostrando erro ao fazer uma captura de tela?
Responda:
Existem 3 razões possíveis para isso:
# 1) Adb não reconheceu o seu dispositivo e você precisa atualizar o software do driver do dispositivo. Você pode procurá-los online e instalar, por exemplo, se você estiver trabalhando com um dispositivo LG, poderá pesquisar os drivers LG adb.
#dois) Seu dispositivo não está em estado inativo: Para a tela que não é estática, como se o vídeo estivesse sendo reproduzido ou qualquer animação fosse exibida, o uiautomatorviewer não pode fazer uma captura de tela nesses casos. Portanto, certifique-se de que a tela do dispositivo não esteja exibindo nenhum vídeo / animação no momento de fazer uma captura de tela.
# 3) Incompatibilidade de versão do Android: Certifique-se de que a versão da API do SDK seja superior ou igual ao nível da API da versão do Android do dispositivo. Caso contrário, você pode atualizar o SDK clicando no arquivo android.bat ou por meio do gerenciador do SDK.
Q # 3) Existe alguma documentação oficial para o UIAutomatorViewer?
Responda: Sim, o Google forneceu documentação para UIAutomatorViewer. Embora não seja totalmente abordado em todos os tópicos, pode ter uma ideia sobre esta ferramenta.
Q # 4) Por que o comando adb devices não mostra nenhum dispositivo?
Responda: Verifique se as opções do desenvolvedor estão habilitadas em seu dispositivo. Para habilitar Opção de desenvolvedores no dispositivo Android, siga o processo abaixo. Vá para as configurações do dispositivo e Sobre o telefone . Toque 5 vezes no número da compilação. Uma mensagem de brinde “Agora você é um desenvolvedor” será mostrado e a opção Configurações do desenvolvedor será adicionada.
Q # 5) Por que é Adb ainda não reconheceu meu aparelho?
Responda: Pode haver um problema de driver. Você precisa atualizar o driver que ajuda a detectar o dispositivo.
qual é o melhor limpador de computador grátis
Siga as etapas abaixo para atualizar o driver.
# 1) Abra seu sistema e abra o gerenciador de dispositivos; você pode obter esta configuração clicando com o botão direito Botão de início .
#dois) Abra o Gerenciador de dispositivos, lá você pode encontrar o nome do seu dispositivo em dispositivos Android / dispositivos portáteis.

# 3) Clique com o botão direito no nome do dispositivo e selecione Atualizar drivers.
# 4) Clique na opção Procurar software de driver em meu computador e clique em deixe-me escolher em uma lista de drivers de dispositivo em meu computador.
# 5) Selecione qualquer um dos drivers adequados para instalar e aperte o próximo botão. Se o driver do dispositivo for instalado com sucesso, uma mensagem será exibida abaixo.
# 6) Como essas são alterações de hardware aplicadas ao seu sistema, pode ser necessário reiniciar o sistema se solicitado a fazê-lo.
# 7) Se você sentir que o dispositivo não é reconhecido, você pode primeiro alterar o modo de conexão. Esses modos são exibidos no dispositivo quando você o conecta ao sistema.

Exemplo: Transferência de arquivos, transferência de fotos, MIDI1.
Q # 6) Posso ver todos os detalhes do componente de IU de um aplicativo Android?
Responda: Você pode ver quase todos os detalhes dos componentes da IU no UIAutomatorViewer. Se qualquer IU / Layout usar outros que não os padrões fornecidos pelo android, eles não podem ser visualizados na ferramenta UIAutomatorViewer.
Você pode pedir ao seu desenvolvedor para colocar qualquer identificador no elemento de IU para automatizar o recurso. Por exemplo, colocando um id de recurso, descrição de conteúdo, etc.
Q # 7) A ferramenta Appium usa a ferramenta UIAutomator nela?
Responda: sim.
Q # 8) Esta ferramenta é compatível com outros dispositivos como Windows / iOS além do Android?
Responda: Não, ele é desenvolvido pelo Google e oferece suporte apenas a dispositivos Android.
Q # 9) O que é UIautomator Android?
Responda: UIAutomator é uma ferramenta / framework que ajuda a automatizar casos de teste de aplicativos Android.
Q # 10) Como você configura o UIAutomator?
Responda: Consulte a seção Instalação deste tutorial para uma explicação detalhada.
Q # 11) O que é UIAutomator no Appium?
Responda: UiAutomator é uma estrutura / ferramenta de teste fornecida pelo Android para automatizar o teste de aplicativos Android, Appium usa-o internamente.
Q # 12) Como você inspeciona um elemento no UIAutomator?
Responda: Depois de concluir a configuração, abra um prompt de comando e digite o comando UIAutomatorViewer. Uma janela será exibida no seu PC. Conecte o celular ao PC e clique no segundo ícone da captura de tela do dispositivo (dump do uiautomator) na parte superior.
Depois desse dispositivo, a tela atual será exibida na janela do inspetor. Clique em qualquer um dos elementos para obter informações sobre esse elemento. Para uma explicação detalhada, consulte Inspecione o elemento de IU necessário seção.
Conclusão
Para resumir,
- UIAutomatorViewer é uma ferramenta de interface gráfica do usuário para inspecionar a camada de IU de qualquer aplicativo.
- Você precisa conhecer a estrutura da IU de um aplicativo em teste para que seja mais fácil automatizar a interação do usuário na camada de IU do aplicativo
- UIAutomator usa um instantâneo XML e captura de tela. Você pode conhecer a hierarquia do layout.
- Para automatizar os testes de IU de aplicativos Android, você precisa primeiro identificar alguns localizadores para realizar uma interação com o aplicativo Exemplo: Nome da classe, id do recurso, texto.
- O Adb é uma parte do SDK chamado Android Debug Bridge.
- Você pode abrir o UIAutomatorViewer digitando o comando uiautomatorviewer na linha de comando.
- Como esta ferramenta é gratuita, pode ser utilizada por qualquer pessoa e é confiável.
Leitura feliz!!
Leitura recomendada
- Como automatizar o aplicativo da web no navegador Chrome no dispositivo Android
- Automatize o aplicativo nativo no dispositivo Android usando Appium
- 11 melhores ferramentas de automação para testar aplicativos Android (Android App Testing Tools)
- 30 melhores ferramentas de teste de GUI para automação de teste de GUI (2021 LIST)
- Tutorial do Katalon Studio: uma ferramenta de automação de teste gratuita que você esperava
- Análise prática do Ranorex Studio: Solução de automação de teste tudo-em-um
- Tutorial SeeTest Automation: um guia de ferramenta de automação de teste móvel
- Tutorial de revisão prática da ferramenta de automação de teste TestProject