Executar testes com o Android Studio

O Firebase Test Lab oferece infraestrutura com base em nuvem para testar apps do Android e é totalmente integrado ao Android Studio para a execução de testes instrumentados e a análise dos resultados.

Neste guia, descrevemos como modificar testes instrumentados no Android Studio para integrar e executar esses testes com o Test Lab. Para ver instruções sobre como usar o Test Lab na IU do Android Studio para criar uma matriz de teste, executar um teste instrumentado e ver os resultados, consulte Executar testes com o Firebase Test Lab.

Fazer capturas de tela

O Test Lab oferece suporte para capturas de tela durante a execução de testes instrumentados. Para saber como fazer capturas de tela, consulte Adicionar a biblioteca de capturas de tela ao seu projeto.

Criar testes usando o Espresso Test Recorder

A ferramenta Espresso Test Recorder permite que você crie testes de IU para o app sem precisar escrever nenhum código de teste. É possível gravar as interações com um dispositivo e adicionar declarações para verificar os elementos da IU em snapshots específicos do app. Em seguida, o Espresso Test Recorder usa a gravação salva e gera automaticamente um teste de IU correspondente na ferramenta, que você pode executar para testar o app no Test Lab.

Para saber mais, consulte Criar testes de IU com o Espresso Test Recorder.

Modificar o comportamento do teste instrumentado no Test Lab

O Test Lab oferece uma variável de sistema que é possível adicionar aos testes instrumentados para que eles se comportem de maneira diferente quando você os executar no Test Lab ou no seu próprio dispositivo de teste ou emulador.

O exemplo de código a seguir lê uma propriedade do sistema firebase.test.lab e define uma string testLabSetting como true caso o teste seja executado no Test Lab. Em seguida, ele usa o valor dessa string para verificar se as outras instruções foram executadas:

Kotlin+KTX

val testLabSetting = Settings.System.getString(contentResolver, "firebase.test.lab")
if ("true" == testLabSetting) {
    // Do something when running in Test Lab
    // ...
}

Java

String testLabSetting = Settings.System.getString(getContentResolver(), "firebase.test.lab");
if ("true".equals(testLabSetting)) {
    // Do something when running in Test Lab
    // ...
}

Usar dispositivos gerenciados pelo Gradle por meio do plug-in do Firebase Test Lab

Os dispositivos gerenciados pelo Gradle usando o plug-in do Firebase Test Lab permitem executar testes instrumentados automatizados em grande escala em dispositivos do Test Lab com base nas configurações dos arquivos do Gradle do projeto.

Os dispositivos gerenciados pelo Gradle também proporcionam fragmentação inteligente, o que permite distribuir testes de forma otimizada em fragmentos com base no histórico de testes anterior. Com a fragmentação inteligente, os fragmentos são executados por aproximadamente o mesmo período e retornam os resultados do teste o mais rápido possível. A fragmentação inteligente permite executar grandes pacotes de testes em paralelo, tornando esse recurso adequado para fluxos de CI/CD

Para ativar a fragmentação inteligente usando o plug-in do Test Lab de dispositivos gerenciados pelo Gradle, siga as instruções em Otimizar execuções de testes com fragmentação inteligente .