App Crawler

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

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

A realização de testes com o rastreador é fácil, porque não é necessário escrever ou manter código. Além disso, você pode executá-lo em vários dispositivos para procurar falhas, 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 caixa preta 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, verifique se ele inclui as ferramentas de criação 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, primeiro extraia o arquivo para o diretório da sua escolha. Nesse diretório, invoque o rastreador usando o seguinte 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 seu app. Use essa opção quando seu 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 seu app e APKs do rastreador. Use essa opção quando seu 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 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 você isso acontecer, recomendamos o uso do JDK 8, 10 ou mais recente. Para mais informações sobre esse problema, consulte este bug do JDK 9. 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 seguintes recursos.