Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Executar testes com o Android Studio

O Firebase Test Lab oferece infraestrutura com base na nuvem para testar apps 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 poder integrá-los e executá-los 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 de instrumentação e ver os resultados do teste, 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 de instrumentação. 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 de instrumentação 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:

Java

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

Kotlin+KTX

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