Rastreador de aplicativos

Use a ferramenta App Crawler, parte do Jetpack, para testar automaticamente o app sem programar ou manter qualquer código.

O rastreador é executado junto ao app, emitindo ações automaticamente (tocar, deslizar etc.) para explorar o espaço-estado do app. O rastreamento termina automaticamente quando não há mais ações exclusivas a serem executadas, quando o app trava ou quando o tempo limite especificado é atingido.

A realização de testes com o rastreador é fácil, porque não é necessário criar ou manter código. Além disso, você pode o executar em vários dispositivos para procurar falhas e problemas visuais ou de desempenho. Normalmente, é recomendado usar um serviço baseado em nuvem, como o Firebase Test Lab, para testar várias combinações de tamanhos de tela e configurações de hardware com mais facilidade e rapidez.

Público-alvo

O App Crawler é destinado a desenvolvedores que querem garantir a funcionalidade básica do app com uma configuração mínima. Além dos testes de caixa opaca simples, o rastreador também pode ser configurado para oferecer entradas específicas, como credenciais de login ou links diretos.

Primeiros passos

Antes de começar, verifique se você tem uma versão recente do SDK do Android, que vem com o Android Studio. Se você instalar um SDK do Android autônomo, confira se ele inclui as ferramentas de build e de plataforma mais recentes.

Em seguida, faça o download do arquivo binário do rastreador.

Inicie um emulador ou conecte um dispositivo físico usando um cabo USB. Para verificar se o dispositivo está conectado, execute este comando:

adb devices

Para invocar o rastreador, extraia o arquivo no diretório que quiser. Nesse diretório, invoque o rastreador usando este comando:

java -jar crawl_launcher.jar --apk-file path/to/my/app.apk --android-sdk path/to/my/android/sdk

Opções do rastreador

Você pode usar as seguintes opções para invocar o rastreador:

Opção Descrição
--android-sdk path

Especifica o caminho para seu SDK Android.

Essa é uma sinalização obrigatória.

--apk-file file

Especifica o caminho para o APK do app, que é instalado e rastreado pelo App Crawler.

Esta é uma sinalização obrigatória se --app-package-name não for especificado.

--app-package-name name

Especifica o nome do pacote do app. Use essa opção quando o app já estiver instalado no dispositivo e não for necessário reinstalar nada.

Esta é uma sinalização obrigatória se --apk-file não for especificado.

--key-store path

Especifica o caminho para o keystore que assina o app e APKs do rastreador. Use essa opção quando o app exigir uma assinatura específica para funcionar corretamente.

--key-store-password password

Especifica a senha do keystore que você forneceu para a opção --key-store.

Essa será uma sinalização obrigatória se --key-store for especificado.

--timeout-sec timeout

Especifica o tempo limite do rastreamento, em segundos. Se esse valor não for especificado, o rastreamento vai ser interrompido depois de 60 segundos.

Problemas conhecidos

Falha na exclusão de arquivos de assinatura originais

Antes do início do rastreamento, os usuários do JDK 9 podem ver esta mensagem de erro:

androidx.test.tools.crawler.launcher.exceptions.ApkSigningException: Failed to delete original signature files

Se isso acontecer, recomendamos o uso do JDK 8, 10 ou mais recente. Para ver mais informações sobre esse problema, consulte este bug do JDK 9 (link em inglês). Alguns usuários corrigiram o problema recriando o APK com uma versão atualizada do Android Studio.

Outros recursos

Para saber mais sobre o uso da ferramenta App Crawler, consulte os recursos abaixo.