Execute testes com Android Studio

O Firebase Test Lab fornece infraestrutura baseada em nuvem para testar aplicativos Android e oferece integração total com o Android Studio para executar testes instrumentados e revisar resultados de testes.

Este guia descreve como modificar testes instrumentados no Android Studio para que você possa integrá-los e executá-los com o Test Lab. Para obter instruções sobre como usar o Test Lab na IU do Android Studio para criar uma matriz de teste, executar um teste instrumentado e visualizar os resultados do teste, consulte Execute seus testes com o Firebase Test Lab .

Capturar capturas de tela

O Test Lab fornece suporte para capturar capturas de tela ao executar testes instrumentados. Para saber como capturar capturas de tela, consulte Adicione a biblioteca de capturas de tela ao seu projeto .

Crie testes usando o Espresso Test Recorder

A ferramenta Espresso Test Recorder permite criar testes de UI para seu aplicativo sem escrever nenhum código de teste. Você pode registrar suas interações com um dispositivo e adicionar asserções para verificar elementos da IU em snapshots específicos do seu aplicativo. O Espresso Test Recorder então pega a gravação salva e gera automaticamente um teste de UI do Espresso correspondente que você pode executar para testar seu aplicativo no Test Lab.

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

Modificar o comportamento do teste instrumentado para o Test Lab

O Test Lab fornece uma variável de sistema que você pode adicionar aos testes instrumentados para que você possa fazer com que eles se comportem de maneira diferente ao executá-los no Test Lab e ao executá-los em 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 se o teste estiver em execução no Test Lab. Em seguida, ele usa o valor desta string para controlar se instruções adicionais serão 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
    // ...
}

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

Os dispositivos gerenciados do Gradle por meio do plug-in do Firebase Test Lab permitem executar testes instrumentados automatizados em escala nos dispositivos do Test Lab, com base nas configurações dos arquivos Gradle do seu projeto.

Os dispositivos gerenciados Gradle também oferecem fragmentação inteligente, que permite distribuir testes de maneira ideal entre fragmentos com base no histórico de testes anteriores. Com o sharding inteligente, os shards são executados aproximadamente pelo mesmo período de tempo e retornam os resultados dos testes o mais rápido possível. A fragmentação inteligente permite executar grandes conjuntos de testes em paralelo, tornando esse recurso adequado para fluxos de CI/CD.

Para ativar a fragmentação inteligente usando o plug-in Gradle Managed Devices Test Lab, siga as instruções em Otimizar execuções de teste com fragmentação inteligente .