Comece a testar com sistemas de integração contínua (CI)

Você pode usar o Firebase Test Lab ao desenvolver seu aplicativo usando qualquer sistema de integração contínua (CI). Os sistemas de integração contínua permitem que você crie e teste automaticamente seu aplicativo sempre que fizer check-in de atualizações no código-fonte do seu aplicativo.

Usando o Firebase Test Lab com Jenkins CI

Esta seção descreve como usar o Test Lab com Jenkins CI .

Requisitos

Antes de usar o Firebase Test Lab com Jenkins, você precisa concluir as seguintes etapas:

  1. Configure o gcloud. Siga as instruções em Como usar o Firebase Test Lab na linha de comando do gcloud para criar um projeto do Firebase e configurar seu ambiente local do SDK do Google Cloud.

  2. Crie e autorize uma conta de serviço. As contas de serviço não estão sujeitas a verificações de spam ou solicitações de captcha, o que poderia bloquear suas compilações de CI. Crie uma conta de serviço com função de editor no console do Google Cloud e ative-a (consulte a documentação gcloud auth activate-service-account para saber como).

  3. Habilite as APIs necessárias. Após fazer login usando a conta de serviço: Na página Biblioteca de APIs do Google Developers Console , ative a API Google Cloud Testing e a API Cloud Tool Results . Para habilitar essas APIs, digite esses nomes de API na caixa de pesquisa na parte superior do console e clique em Habilitar API na página de visão geral dessa API.

Instalar e configurar o Jenkins

Você pode instalar e configurar o Jenkins CI no Linux ou Windows. Certos detalhes deste guia são específicos para instalação e execução do Jenkins CI no Linux, incluindo o uso de barras ( / ) em caminhos de arquivo.

Para baixar e instalar o Jenkins em um computador executando Linux ou Windows, siga as instruções em Instalando o Jenkins . Depois de instalar o Jenkins, siga as instruções em Iniciando e acessando o Jenkins para concluir a configuração e acessar o painel do Jenkins.

Definir configurações de segurança globais

Jenkins não possui autenticação de usuário e controle de acesso configurados quando é instalado pela primeira vez. Antes de usar o Jenkins com o Firebase Test Lab, defina as configurações de segurança globais para impor o controle de acesso e autenticar usuários.

Para definir configurações de segurança globais

  1. Navegue até o painel do Jenkins em seu servidor. Para fazer isso, navegue até http://<servername>:8080 , onde <servername> é o nome do computador onde você instalou o Jenkins.
  2. No painel do Jenkins, clique em Gerenciar Jenkins e em Configurar segurança global .
  3. Na página Configurar segurança global , clique em Ativar segurança e clique em Salvar .

Para obter mais informações sobre como definir as configurações de segurança do Jenkins, consulte Segurança rápida e simples , Configuração de segurança padrão e Protegendo o Jenkins .

Crie um projeto Jenkins

A seguir, crie um projeto para executar testes de integração contínua do seu aplicativo com o Firebase Test Lab.

Para criar um projeto Jenkins

  1. Navegue até o painel do Jenkins em seu servidor. Para fazer isso, navegue até http://<servername>:8080 , onde <servername> é o nome do computador onde você instalou o Jenkins.
  2. No painel do Jenkins, clique em Novo item .
  3. Digite um nome para o seu projeto no campo Nome do item :
    • Escolha Projeto Freestyle para criar um projeto que use uma única configuração de build.
    • Escolha Construir projeto de múltiplas configurações para criar um projeto que seja executado em diversas configurações de build diferentes. Se você planeja criar seu aplicativo com uma variedade de configurações de compilação (múltiplas localidades, vários níveis de API do Android etc.), um projeto com várias configurações é a melhor escolha.
  4. Clique em Salvar .

Depois que seu projeto for criado, seu navegador exibirá a página principal do seu projeto.

Adicione controle de revisão e etapas de compilação do Gradle

Esta seção descreve como integrar o Jenkins com sistemas de controle de revisão, como GitHub, e como adicionar etapas de compilação do Gradle para criar pacotes APK a partir do código-fonte.

Integração com GitHub e outros sistemas de controle de revisão

Se você usar o GitHub ou outro sistema de controle de revisão para gerenciar o código-fonte do seu aplicativo, poderá configurar o Jenkins para executar compilações automatizadas e executar testes sempre que houver check-in de atualizações no seu aplicativo. Você também pode configurar o Jenkins para executar compilações periodicamente.

Para saber mais sobre como configurar compilações no Jenkins, consulte Configurando compilações automáticas .

Adicionando etapas de compilação do Gradle para reconstruir pacotes APK

Se você usa um sistema de controle de revisão para gerenciar o código-fonte do seu aplicativo, será necessário incluir uma etapa de compilação do Gradle para criar novos binários de APK sempre que o Jenkins baixar o código-fonte do seu sistema de controle de revisão.

  1. Adicione uma etapa de construção para executar os seguintes comandos no diretório principal do seu aplicativo:

    ./gradlew :app:assembleDebug
    ./gradlew :app:assembleDebugAndroidTest
    

  2. Adicione uma etapa de construção para usar os pacotes APK criados pelo Gradle ao testar com o Test Lab. Você pode usar esse caminho como <local_server_path> no exemplo de script de shell fornecido abaixo, onde <AppFolder> é a pasta do projeto do Android Studio para seu aplicativo:

    <AppFolder>/app/build/outputs/apk
    

Adicionar etapas de construção do Test Lab ao Jenkins

Agora você está pronto para adicionar uma etapa de construção ao Jenkins para executar o Test Lab usando a linha de comando gcloud.

Para adicionar uma etapa de compilação do gcloud

  1. Na página principal do seu projeto, clique em Configurar .
  2. Na página de configuração do projeto , role para baixo até a seção Build e escolha Executar shell no menu Adicionar etapa de build .

  3. Na janela de comando do shell de execução do Jenkins , insira o seguinte, substituindo <local_server_path> pelo caminho para o aplicativo de amostra no servidor, <app_apk> pelo APK do seu aplicativo e <app_test_apk> pelo APK de teste do seu aplicativo:

    gcloud firebase test android run --app <local_server_path>/<app_apk>.apk
    --test <local_server_path>/<app_test_apk>.apk
    

Analise os resultados dos testes

Depois que o Test Lab concluir os testes do seu aplicativo, você poderá analisar os resultados dos testes no console do Firebase ou em um intervalo do Google Cloud Storage no seu projeto. Você também pode adicionar um comando gsutil ao comando shell mostrado acima para copiar os dados dos resultados do teste para o seu computador local. Para saber mais, consulte Analisando os resultados do Firebase Test Lab .

Integração contínua com outros sistemas CI

Para saber como usar o Firebase Test Lab com outros sistemas de CI, confira a documentação: