Firebase Test Lab позволяет вам тестировать ваше приложение на различных устройствах и конфигурациях. Это руководство по началу работы предоставляет вам путь внедрения, а также введение в предложения Test Lab для Android.
Информацию о квотах и тарифных планах Test Lab см. в разделе Использование, квоты и цены .
Ключевые понятия
Когда вы запускаете тест или набор тестовых случаев для выбранных вами устройств и конфигураций, Test Lab запускает тест для вашего приложения в пакетном режиме, а затем отображает результаты в виде тестовой матрицы .
Устройства × Выполнения тестов = Тестовая матрица
- Устройство
- Физическое или виртуальное устройство (только Android), на котором вы запускаете тест, например телефон, планшет или носимое устройство. Устройства в тестовой матрице идентифицируются по модели устройства, версии ОС, ориентации экрана и локали (также известной как географические и языковые настройки).
- Тест, выполнение теста
- Тест (или набор тестовых случаев), который должен быть запущен на устройстве. Вы можете запустить один тест на устройство или, по желанию, разбить тест на части и запустить его тестовые случаи на разных устройствах.
- Тестовая матрица
- Содержит статусы и результаты тестов для ваших тестовых исполнений. Если любое тестовое исполнение в матрице не удается, вся матрица не удается.
Шаг 1 : Подготовьте свой тест для загрузки в Test Lab
Доступные типы тестов
Вы можете запустить следующие тесты с Test Lab . Обратите внимание, что все типы тестов ограничены 45 минутами на физических устройствах и 60 минутами на виртуальных устройствах. Любое неперехваченное исключение приведет к сбою теста.
Тест инструментирования или инструментированный модульный тест : тест, который вы написали с использованием фреймворков Espresso или UI Automator . С помощью этого теста вы можете делать явные утверждения о состоянии вашего приложения для проверки правильной функциональности с помощью AndroidJUnitRunnerAPIs .
Посетите раздел «Выполнение инструментального теста» для получения инструкций по подготовке теста к запуску в Test Lab .
Инструкции по созданию инструментального теста см. в документации для разработчиков Android .
Robo-тест : автоматизированный тест, который анализирует пользовательский интерфейс вашего приложения, а затем методично исследует его, имитируя действия пользователя, не требуя от вас написания кода. Посетите раздел О тестах Robo для получения дополнительной информации.
Тест Game Loop : Тест, который использует «демо-режим» для имитации действий игрока в игровых приложениях. Это быстрый и масштабируемый способ проверить, что ваша игра хорошо работает для пользователей. Когда вы решаете запустить тест Game Loop, вы можете:
Напишите тесты, родные для вашего игрового движка
Избегайте написания одного и того же кода для разных пользовательских интерфейсов или сред тестирования.
При желании можно создать несколько циклов для запуска в одном тестовом выполнении (для получения дополнительной информации посетите страницу About Game Loop tests ). Вы также можете организовать циклы с помощью меток, чтобы отслеживать их и повторно запускать определенные циклы.
Инструкции по запуску этого теста с помощью Test Lab см. в разделе Запуск теста игрового цикла .
Инструменты для проведения теста
Вы можете выбрать следующие инструменты для проведения теста:
Рекомендуется для начинающих пользователей : Консоль Firebase позволяет вам загружать приложение и инициировать тестирование из вашего веб-браузера. Инструкции по запуску тестов с использованием этого инструмента см. в разделе Тестирование с помощью консоли Firebase .
Интеграция с Android Studio позволяет вам тестировать приложение, не покидая среду разработки. Инструкции по запуску тестов с использованием этого инструмента см. в разделе Тестирование с Android Studio .
Интерфейс командной строки gcloud позволяет вам запускать тесты из командной строки в интерактивном режиме, а также хорошо подходит для написания сценариев в рамках автоматизированного процесса сборки и тестирования. Инструкции по запуску тестов с использованием этого инструмента см. в разделе Тестирование с помощью gcloud CLI .
Вы также можете бесплатно протестировать свое приложение с помощью Test Lab , когда вы загружаете и публикуете файлы APK вашего приложения в Play Store, используя альфа- или бета-канал. Для получения дополнительной информации см. Использование отчетов о предварительных запусках для выявления проблем и Robo-тесты .
Шаг 2 : Выберите устройство для тестирования
Test Lab поддерживает тестирование на нескольких марках и моделях устройств Android, установленных и работающих в центре обработки данных Google. Тестирование на устройствах в Test Lab поможет вам обнаружить проблемы, которые могут не возникнуть при тестировании вашего приложения с использованием эмуляторов в Android Studio. Чтобы узнать больше, см. Доступные устройства.
Шаг 3 : Проверьте результаты теста.
Независимо от того, как вы начинаете свои тесты, все результаты ваших тестов обрабатываются Test Lab и их можно просматривать онлайн.
Сводка результатов теста автоматически сохраняется и может быть просмотрена в консоли Firebase . Она содержит наиболее релевантные данные для вашего теста, включая видео, специфичные для тестового случая, скриншоты, количество пройденных, не пройденных или получивших нестабильные результаты тестов и многое другое.
Необработанные результаты тестирования содержат журналы тестирования и сведения об ошибках приложения и автоматически сохраняются в контейнере Google Cloud. Если вы указываете контейнер, вы несете ответственность за стоимость хранения. Если вы не указываете контейнер, Test Lab создает его для вас бесплатно.
Более подробную информацию см. в разделе Анализ результатов Firebase Test Lab .
При запуске теста из Android Studio вы также можете просмотреть результаты теста из своей среды разработки.
Очистка устройства
Google очень серьезно относится к безопасности данных вашего приложения. Мы следуем передовым отраслевым стандартам по удалению данных приложения и сбросу системных настроек для физических устройств после каждого тестового запуска, чтобы гарантировать их готовность к запуску новых тестов. Для устройств, которые мы можем прошить с помощью пользовательского образа восстановления, мы идем на шаг дальше, прошивая эти устройства между тестовыми запусками.
Для виртуальных устройств, используемых Test Lab , экземпляры устройств удаляются после их использования, поэтому при каждом тестовом запуске используется новый экземпляр виртуального устройства.
Test Lab и сервисы Google Play
Устройства Test Lab обычно работают на последней версии SDK сервисов Google Play, но некоторым может потребоваться несколько дней для обновления после выпуска новой версии SDK. Обратите внимание, что вы можете столкнуться с проблемами совместимости с некоторыми устройствами.
Разрешение тестовым устройствам получать доступ к частным внутренним серверам
Некоторым мобильным приложениям необходимо взаимодействовать с частными бэкэнд-сервисами для корректной работы во время тестирования. Если ваши бэкэнд-серверы защищены правилами брандмауэра, вы можете разрешить доступ для физических и виртуальных устройств Test Lab , используя приведенные ниже блоки IP-адресов для открытия маршрутов через ваш брандмауэр.
Мобильная реклама
Test Lab предоставляет масштабируемую инфраструктуру, которая автоматизирует тестирование приложений, и, к сожалению, эта возможность может быть использована вредоносными приложениями, предназначенными для получения мошеннических доходов от рекламы.
Чтобы смягчить эту проблему:
Если вы пользуетесь услугами сторонних поставщиков цифровой рекламы (например, рекламных сетей или платформ со спросом) или работаете с ними, вам рекомендуется использовать тестовые объявления вместо реальных во время разработки и тестирования приложений.
Если вам необходимо использовать настоящую рекламу в своем тесте, сообщите поставщикам цифровой рекламы, с которыми вы работаете, чтобы они отфильтровывали доходы и весь соответствующий трафик, генерируемый Test Lab , используя блоки IP-адресов ниже . Вам не нужно уведомлять поставщиков рекламы, принадлежащих Google; Test Lab позаботится об этом за вас.
IP-адреса, используемые устройствами Test Lab
Весь сетевой трафик, генерируемый устройствами Test Lab , исходит из следующих блоков IP-адресов . Вы также можете получить доступ к этому списку, используя команду gcloud beta firebase test ip-blocks list
в gcloud CLI. Список обновляется в среднем раз в год.
Платформа и тип устройства | Блок IP-адресов CIDR |
---|---|
Физические устройства Android и iOS, виртуальные устройства Arm | 70.32.128.0/19 (добавлено 02-2022) 108.177.6.0/23 108.177.18.192/26 (добавлено 02-2022) 108.177.29.64/27 (расширено 02-2022) 108.177.31.160/27 (добавлено 02-2022) 199.36.156.8/29 (добавлено 02-2022) 199.36.156.16/28 (добавлено 02-2022) 209.85.131.0/27 (добавлено 02-2022) 2001:4860:1008::/48 (добавлено 02-2022) 2001:4860:1018::/48 (добавлено 02-2022) 2001:4860:1019::/48 (добавлено 02-2022) 2001:4860:1020::/48 (добавлено 02-2022) 2001:4860:1022::/48 (добавлено 02-2022) 70.32.128.48/28 (добавлено 04-2024) |
Виртуальные устройства Android (не Arm) | 34.68.194.64/29 (добавлено 11-2019) 34.69.234.64/29 (добавлено 11-2019) 34.73.34.72/29 (добавлено 11-2019) 34.73.178.72/29 (добавлено 11-2019) 34.74.10.72/29 (добавлено 02-2022) 34.136.2.136/29 (добавлено 02-2022) 34.136.50.136/29 (добавлено 02-2022) 34.145.234.144/29 (добавлено 02-2022) 35.192.160.56/29 35.196.166.80/29 35.196.169.240/29 35.203.128.0/28 35.234.176.160/28 35.243.2.0/27 (добавлено 7-2019) 35.245.243.240/29 (добавлено 02-2022) 199.192.115.0/30 199.192.115.8/30 199.192.115.16/29 |
IP-блоки устройств больше не используются | 74.125.122.32/29 (удалено 02-2022) 216.239.44.24/29 (удалено 02-2022) |