Testar apps Android automaticamente

Neste guia, descrevemos como distribuir builds automaticamente para os testadores usando o recurso Testador automatizado do App Distribution no console do Firebase. O recurso Testador automatizado oferece uma ferramenta de teste preliminar fácil de usar e sempre pronta para seu app.

Antes de começar

Adicione o Firebase ao seu projeto para Android, caso ainda não tenha feito isso.

Se você não estiver usando outros produtos do Firebase, basta criar um projeto e registrar seu app. No entanto, se você decidir usar outros produtos no futuro, conclua todas as etapas em Adicionar o Firebase usando o console do Firebase.

Quando você estiver pronto para distribuir uma versão de pré-lançamento do seu aplicativo para os testadores, crie um APK usando seu processo normal. Você precisa assinar o APK com sua chave de depuração ou de assinatura do app.

Distribuir o app para o Testador automatizado com o console do Firebase

Para distribuir seu app para o Testador automatizado, faça o upload do seu arquivo APK usando o console do Firebase:

  1. Abra a página do App Distribution do console do Firebase. Selecione seu projeto do Firebase quando solicitado.
  2. Na página Versões, selecione o app que você quer distribuir no menu suspenso.
  3. Arraste o arquivo APK do seu aplicativo para o console para fazer o upload.
  4. Quando o upload for concluído, selecione Testador automático na barra de pesquisa Adicionar testadores ou grupos.
  5. Para personalizar seu teste automatizado, clique no ícone Editar e selecione as personalizações na caixa de diálogo Personalizar o teste automatizado.
  6. (Opcional) Na caixa de diálogo Configurador do dispositivo, selecione o nível da API, a orientação do dispositivo e a localidade que atendam às especificações do teste.
  7. (Opcional) Clique no menu suspenso Credenciais de login para criar um nome de usuário e uma senha personalizados que podem ser usados durante o teste se o app exigir credenciais de login.
  8. Clique em Distribuir. Também é possível adicionar uma nota da versão opcional para o app.

Distribuir o app para o Testador automatizado com a CLI do Firebase

Execute o comando appdistribution:distribute para fazer upload do app e distribuir aos testadores. Use os seguintes parâmetros para configurar a distribuição para o recurso Testador automatizado:

Opções appdistribution:distribute
--test-devices ou --test-devices-file

Os dispositivos de teste em que você quer distribuir os builds para o recurso Testador Automatizado.

É possível especificar os dispositivos de teste como uma lista de dispositivos de teste separada por ponto e vírgula:

--test-devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

Também é possível especificar o caminho para um arquivo de texto simples que contenha uma lista de dispositivos de teste separada por ponto e vírgula:

--test-devices-file: "/path/to/test-devices.txt"
--test-username

O nome de usuário para o login automático que será usado durante os testes automatizados.

--test-password ou --test-password-file

A senha para login automático que será usada durante os testes automatizados.

Se preferir, é possível especificar o caminho para um arquivo de texto simples que contenha uma senha:

--test-password-file: "/path/to/test-password.txt"
--test-username-resource

Nome do recurso para o campo de nome de usuário para login automático que será usado durante os testes automatizados.

--test-password-resource

Nome do recurso do campo de senha para login automático que será usado durante os testes automatizados.

--test-non-blocking

Execute testes automatizados de forma assíncrona. Acesse o console do Firebase para conferir os resultados do teste automático.

Para mais informações sobre como começar a usar a CLI do Firebase e diferentes maneiras de configurar a distribuição, consulte Distribuir apps Android para testadores com a CLI do Firebase.

Distribuir o app para o Testador automatizado com o Gradle

Para configurar o App Distribution, adicione pelo menos uma seção firebaseAppDistribution e use os parâmetros a seguir para configurar a distribuição para o recurso Testador automatizado:

Parâmetros do build do App Distribution
testDevices ou testDevicesFile

Os dispositivos de teste para os quais você quer distribuir builds usando testes automatizados.

É possível especificar os dispositivos de teste como uma lista de especificações do dispositivo separada por ponto e vírgula:

testDevices="model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

Também é possível especificar o caminho para um arquivo que contenha uma lista de especificações do dispositivo separada por ponto e vírgula:

testDevicesFile="/path/to/testDevices.txt"
testUsername

O nome de usuário para o login automático que será usado durante os testes automatizados.

testUsernameResource

Nome do recurso para o campo de nome de usuário para login automático que será usado durante os testes automatizados.

testPassword ou testPasswordFile

A senha para login automático que será usada durante os testes automatizados.

Se preferir, é possível especificar o caminho para um arquivo de texto simples que contenha uma senha:

testPasswordFile="/path/to/testPassword.txt"
testPasswordResource

Nome do recurso do campo de senha para login automático que será usado durante os testes automatizados.

testNonBlocking

Execute testes automatizados de forma assíncrona. Acesse o console do Firebase para conferir os resultados do teste automático.

Para mais informações sobre como começar a usar o Gradle e diferentes maneiras de configurar sua distribuição, consulte Distribuir apps Android para testadores com o Gradle.

Distribuir seu app para o Testador automatizado com o fastlane

Em uma linha ./fastlane/Fastfile, adicione um bloco firebase_app_distribution. Use os seguintes parâmetros para configurar a distribuição para o recurso Testador automatizado:

Parâmetros firebase_app_distribution
test_devices ou test_devices_file

Os dispositivos de teste em que você quer distribuir os builds para o recurso Testador Automatizado. É possível especificar os dispositivos de teste como uma lista de dispositivos de teste separada por ponto e vírgula:

test_devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

Também é possível especificar o caminho para um arquivo de texto simples que contenha uma lista de dispositivos de teste separada por ponto e vírgula:

test_devices_file: "/path/to/test-devices.txt"
test_username

O nome de usuário para o login automático que será usado durante os testes automatizados.

test_password ou test_password_file

A senha para login automático que será usada durante os testes automatizados.

Se preferir, é possível especificar o caminho para um arquivo de texto simples que contenha uma senha:

test_password_file: "/path/to/test-password.txt"
test_username_resource

Nome do recurso para o campo de nome de usuário para login automático que será usado durante os testes automatizados.

test_password_resource

Nome do recurso do campo de senha para login automático que será usado durante os testes automatizados.

test_non_blocking

Execute testes automatizados de forma assíncrona. Acesse o console do Firebase para conferir os resultados do teste automático.

Para mais informações sobre como começar a usar o fastlane e diferentes maneiras de configurar a distribuição, consulte Distribuir apps Android para testadores com o fastlane.

Status do rastreamento de teste automático

Para ajudar você a interpretar os resultados do seu teste, a guia Resultados de teste automatizados mostra todos os problemas de teste, capturas de tela do app e um vídeo do rastreamento de teste para cada dispositivo. O status do teste pode ser encontrado na página de resultados do teste:

Status do rastreamento Descrição
Pendente O teste automático ainda está em execução, e os resultados serão disponibilizados em breve.
Aprovado O teste automático rastreou o app e não encontrou falhas.
Falha O teste automático falhou porque houve um problema no app durante o teste.
Inconclusivo O teste automático falhou devido a erros de infraestrutura.