Google is committed to advancing racial equity for Black communities. See how.
Эта страница переведена с помощью Cloud Translation API.
Switch to English

Делайте скриншоты при инструментальных тестах

Firebase Test Lab включает библиотеку, которую вы можете использовать для создания снимков экрана при запуске инструментальных тестов, таких как тесты, написанные с использованием тестовой среды Espresso . Чтобы добавить эту возможность в свой тест, загрузите библиотеку cloudtestingscreenshotter_lib.aar .

Возможность делать снимки экрана уже включена в тестовый APK, app-debug-test-unaligned.apk , для примера приложения NotePad, и снимки экрана также делаются при запуске Robo test . В следующих инструкциях рассказывается, как добавить библиотеку снимков экрана в приложение и как вызвать эту библиотеку из теста.

После запуска теста вы можете просмотреть снимки экрана в Android Studio или в консоли Firebase.

Добавьте библиотеку скриншотов в свой проект

  1. В Android Studio откройте представление « Проект» и щелкните правой кнопкой мыши имя проекта. Затем нажмите « Создать» > « Каталог» .

  2. В диалоговом окне « Новый каталог » введите aars . Это создает каталог aars в корне вашего тестового проекта (как одноранговый каталог для папки приложения ).

  3. Скопируйте cloudtestingscreenshotter_lib.aar и вставьте его в папку aars .

  4. В файле build.gradle корневого уровня (уровня проекта) вашего приложения добавьте ссылку на папку aars в каждый блок repositories :

    repositories {
        jcenter()
        flatDir {
            dirs '../aars'
        }
    }
    ...
  5. В каталоге верхнего уровня вашего модуля (для примера приложения build.gradle это каталог приложения ) откройте файл build.gradle и добавьте зависимость к cloudtestingscreenshotter_lib.aar в блок dependencies верхнего уровня:

    dependencies {
        // Cloud testing
        androidTestCompile (name:'cloudtestingscreenshotter_lib', ext:'aar')
        // Other dependencies go here
        }
    
  6. В файле AndroidManifest.xml укажите системные разрешения для вашего приложения, добавив следующие строки в <manifest> . Если вы тестируете Android 10 (уровень API 29) или выше , опустите разрешение WRITE_EXTERNAL_STORAGE (вашему приложению не требуется это разрешение для чтения и записи снимков экрана на устройство).

    <manifest ... >
       <!-- WRITE_EXTERNAL_STORAGE is not needed on Android 10 (API level 29) or higher. -->
       <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
       <uses-permission android:name="android.permission.INTERNET"/>
       ...
    </manifest>
    

Сделайте снимок экрана с вашего теста

В любой момент вашего теста, где вы хотите сделать снимок экрана, вызовите метод ScreenShotter.takeScreenshot из библиотеки cloudtestingscreenshotter_lib, где первым аргументом является метка, которую вы используете для идентификации снимка экрана ( main_screen_2 используется в следующем примере):

Ява

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

Котлин + KTX

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

Посмотреть скриншоты

После завершения теста вы можете сравнить любые снимки экрана, сделанные во время тестирования, выбрав элемент в дереве результатов теста и затем щелкнув Просмотр снимков экрана. Посмотреть скриншоты вариант.

Screenshot comparison screen

Вы можете выбрать и сравнить скриншоты из разных конфигураций следующим образом:

Задача Действие
Переключение между тестовыми выполнениями. Используйте раскрывающееся меню в верхнем левом углу.

меню тестового случая
Переключение между снимками экрана во время выполнения теста. Используйте стрелки в правом верхнем углу.

переключатель скриншотов
Добавьте дополнительные панели сравнения снимков экрана в текущий вид. Щелкните " Сравнить" .

Сравнивать
Выберите другой размер теста (тип устройства, ориентация, регион и т. Д.). Выберите новый элемент измерения из списка внизу снимка экрана.

Следующий шаг

Загрузите образец приложения NotePad .