Firebase Test Lab включает библиотеку, которую вы можете использовать для создания снимков экрана при запуске инструментальных тестов, таких как тесты, написанные с использованием тестовой среды Espresso . Чтобы добавить эту возможность в свой тест, загрузите библиотеку cloudtestingscreenshotter_lib.aar .
Возможность делать снимки экрана уже включена в тестовый APK-файл app-debug-test-unaligned.apk для примера приложения NotePad. Скриншоты также делаются при запуске Robo test . В следующих инструкциях рассказывается, как добавить библиотеку снимков экрана в приложение и как вызвать эту библиотеку из теста.
После запуска теста вы можете просмотреть снимки экрана в Android Studio или в консоли Firebase.
Добавьте библиотеку скриншотов в свой проект
В Android Studio откройте представление « Проект» и щелкните правой кнопкой мыши имя проекта. Затем нажмите « Создать» > « Каталог» .
В диалоговом окне « Новый каталог » введите aars . Это создает каталог aars в корне вашего тестового проекта (как одноранговый каталог для папки приложения ).
Скопируйте cloudtestingscreenshotter_lib.aar и вставьте его в папку aars .
В файле
build.gradle
корневого уровня (уровня проекта) вашего приложения добавьте ссылку на папку aars в каждый блокrepositories
:repositories { jcenter() flatDir { dirs '../aars' } } ...
В каталоге верхнего уровня вашего модуля (для примера приложения
build.gradle
это каталог приложения ) откройте файлbuild.gradle
и добавьте зависимость к cloudtestingscreenshotter_lib.aar в блокdependencies
верхнего уровня:dependencies { // Cloud testing androidTestCompile (name:'cloudtestingscreenshotter_lib', ext:'aar') // Other dependencies go here }
В файле
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 */)
Посмотреть скриншоты
После завершения теста вы можете сравнить любые снимки экрана, сделанные во время тестирования, выбрав элемент в дереве результатов теста и затем щелкнув Просмотр снимков экрана. вариант.
Вы можете выбирать и сравнивать скриншоты из разных конфигураций следующим образом:
Задача | Действие |
---|---|
Переключение между тестовыми выполнениями. | Используйте раскрывающееся меню в верхнем левом углу. ![]() |
Переключение между снимками экрана во время выполнения теста. | Используйте стрелки в правом верхнем углу. ![]() |
Добавьте дополнительные панели сравнения снимков экрана в текущий вид. | Щелкните " Сравнить" .![]() |
Выберите другой размер теста (тип устройства, ориентация, регион и т. Д.). | Выберите новый элемент измерения из списка внизу снимка экрана. |