Firebase Test Lab e 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.

Este guia descreve como modificar testes instrumentados no Android Studio para uso com o Test Lab. Para ver instruções sobre como usar o Test Lab a partir da IU do Android Studio para criar uma matriz de teste, executar testes instrumentados e ver os resultados, consulte Executar seus 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 seu app sem precisar criar nenhum código de teste. É possível gravar suas interações com um dispositivo e adicionar asserções para verificar os elementos da interface do usuário em snapshots específicos do seu aplicativo. 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 seu aplicativo no Test Lab.

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

Modificar o comportamento do teste instrumentado para o Test Lab

O Test Lab oferece uma variável de sistema que você pode adicionar aos seus testes instrumentados para que eles se comportem de maneira diferente quando você os executar no Test Lab em comparação com quando você os executar 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:

Java

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

Kotlin

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