Fazer capturas de tela de testes de instrumentação no Firebase Test Lab

O Firebase Test Lab inclui uma biblioteca que você pode usar para fazer capturas de tela ao executar testes de instrumentação, como testes desenvolvidos usando a estrutura de teste Espresso. Para adicionar esse recurso ao teste, faça o download da biblioteca cloudtestingscreenshotter_lib.aar.

O recurso de capturas de tela já está integrado ao APK de teste app-debug-test-unaligned.apk para o app de amostra do NotePad. Além disso, as capturas de tela também são geradas durante a execução do teste Robo. As instruções a seguir mostram como adicionar a biblioteca de capturas de tela ao seu app e como chamar essa biblioteca no seu teste.

Após o teste ser executado, você pode rever as capturas no Android Studio ou no Firebase console.

Adicionar uma biblioteca de captura de tela ao seu projeto

  1. No Android Studio, abra a visualização do Projeto, clique com o botão direito do mouse no nome do projeto e, em seguida, clique em Novo > Diretório.
  2. Na caixa de diálogo Novo diretório, digite aars. Isso cria um diretório aars na raiz do seu projeto de teste (como um diretório de mesmo nível para a pasta app).
  3. Copie cloudtestingscreenshotter_lib.aar e, depois, cole-o na pasta aars.
  4. Na raiz do seu projeto de teste, abra build.gradle e adicione uma referência à pasta aars em todas as seções repositories nesse arquivo de modo que cada seção tenha o seguinte formato:

    repositories {
        jcenter()
        flatDir {
            dirs '../aars'
        }
    }
    ...
  5. No diretório de nível superior do módulo (no app de amostra do NotePad, esse é o diretório app), abra o arquivo build.gradle e, em seguida, adicione uma dependência em cloudtestingscreenshotter_lib.aar à seção dependencies de nível superior conforme mostrado no exemplo a seguir:

    dependencies {
        // Cloud testing
        androidTestCompile (name:'cloudtestingscreenshotter_lib', ext:'aar')
        // Other dependencies go here
        }
    
  6. Abra AndroidManifest.xml e adicione as seguintes linhas entre os elementos <manifest> e </manifest>:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>

Realizar uma captura de tela do seu teste

Quando quiser realizar uma captura de tela no seu teste, chame o método ScreenShotter.takeScreenshot da biblioteca cloudtestingscreenshotter_lib, em que o primeiro argumento é um rótulo que você usa para identificar a captura de tela (main_screen_2 é usado no exemplo abaixo):

Java
Android

ScreenShotter.takeScreenshot("main_screen_2", this /* activity */);

Kotlin
Android

ScreenShotter.takeScreenshot("main_screen_2", this /* activity */)

Ver capturas de tela

Depois que o teste for concluído, será possível comparar as capturas de tela coletadas. Para isso, selecione um elemento na árvore de resultados do teste e clique na opção Ver capturas de tela Ver capturas de tela.

Tela de comparação de capturas de tela

É possível selecionar e comparar capturas de tela de diferentes configurações, conforme mostrado abaixo:

Tarefa Ação
Alternar entre execuções de teste. Use o menu suspenso no canto superior esquerdo.

menu de caso de teste
Alternar entre capturas de tela em uma execução de teste. Use as setas no canto superior direito.

alternador de capturas de tela
Adicionar painéis extras de comparação de capturas de tela ao modo de exibição atual. Clique em Comparar.

Comparar
Escolher uma dimensão de teste diferente (tipo de dispositivo, orientação, local etc.). Selecione um novo membro de dimensão na lista, na parte inferior da captura de tela.

Próxima etapa

Faça o download do app de amostra do NotePad.

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.