Trabalhando com instrumentação para Android e AWS Device Farm - AWS Device Farm

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Trabalhando com instrumentação para Android e AWS Device Farm

O Device Farm fornece suporte para Instrumentação (JUnit, Espresso, Robotium ou qualquer teste baseado em instrumentação) para Android.

O Device Farm também fornece uma aplicação Android de amostra e links para testes funcionais em três estruturas de automação do Android, incluindo Instrumentation (Espresso). O aplicativo de amostra Device Farm para Android está disponível para download em GitHub.

O que é instrumentação?

A instrumentação do Android possibilita chamar métodos de retorno de chamada no código de teste, de maneira que você possa percorrer o ciclo de vida de um componente passo a passo, como se estivesse depurando o componente. Para obter mais informações, consulte Instrumented tests na seção Test types and locations da documentação de Android Developer Tools.

Upload dos testes de instrumentação para Android

Use o console do Device Farm para carregar seus testes.

  1. Faça login no console do Device Farm em https://console.aws.amazon.com/devicefarm.

  2. No painel de navegação do Device Farm, escolha Teste para dispositivos móveis e, em seguida, Projetos.

  3. Na lista de projetos, escolha o projeto para o qual deseja carregar seus testes.

    dica

    Você pode usar a barra de pesquisa para filtrar a lista de projetos por nome.

    Para criar um projeto, siga as instruções em Criar um projeto no AWS Device Farm.

  4. Se o botão Criar uma nova execução for exibido, escolha-o.

  5. Na página Escolher aplicação, selecione Escolher arquivo.

  6. Procure e escolha o arquivo de seu aplicativo Android. O arquivo deve ser .apk.

  7. Escolha Próximo.

  8. Na página Configurar, na seção Configurar estrutura para testes, escolha Instrumentação e, em seguida, selecione Escolher arquivo.

  9. Procure e escolha o arquivo .apk que contém os testes.

  10. Escolha Próximo e conclua as instruções restantes para selecionar dispositivos e iniciar a execução.

Fazer captura de telas em testes de instrumentação para Android

Você pode fazer capturas de tela como parte dos testes de instrumentação para Android.

Para fazer a captura de telas, chame um dos seguintes métodos:

  • Para Robotium, chame o método takeScreenShot (por exemplo, solo.takeScreenShot();).

  • Para Spoon, chame o método screenshot; por exemplo:

    Spoon.screenshot(activity, "initial_state"); /* Normal test code... */ Spoon.screenshot(activity, "after_login");

Durante uma execução de teste, o Device Farm obtém capturas de tela dos seguintes locais nos dispositivos, se existirem, e as adiciona aos relatórios de teste:

  • /sdcard/robotium-screenshots

  • /sdcard/test-screenshots

  • /sdcard/Download/spoon-screenshots/test-class-name/test-method-name

  • /data/data/application-package-name/app_spoon-screenshots/test-class-name/test-method-name

Considerações adicionais para os testes de instrumentação para Android

Animações de sistema

De acordo com a Android documentation for Espresso testing, recomenda-se que as animações do sistema sejam desativadas ao testar em dispositivos reais. O Device Farm desativa automaticamente as configurações Window Animation Scale, Transition Animation Scale e Animator Duration Scale quando executado com o executor de testes de instrumentação android.support.test.runner.A Runner. ndroidJUnit

Gravadores de teste

O Device Farm oferece suporte a estruturas, como Robotium, que têm record-and-playback ferramentas de script.

Análise de teste em modo padrão

No modo padrão de uma execução, o Device Farm analisa sua suíte de testes e identifica as classes e métodos de teste exclusivos que ela executará. Isso é feito por meio de uma ferramenta chamada Dex Test Parser.

Quando recebe um arquivo.apk de instrumentação do Android como entrada, o analisador retorna os nomes dos métodos totalmente qualificados dos testes que correspondem às convenções JUnit 3 e 4. JUnit

Para testar isso em um ambiente local:

  1. Faça download do binário dex-test-parser.

  2. Execute o comando a seguir para obter a lista de métodos de teste que serão executados no Device Farm:

    java -jar parser.jar path/to/apk path/for/output