Firebase is back at Google I/O on May 10! Register now

Начните тестирование с помощью виртуальных устройств Android

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

В этом документе описываются AVD для Test Lab, включая преимущества и известные ограничения. Мы также предоставляем рекомендации о том, как тестировать ваше приложение на протяжении всего жизненного цикла разработки.

Хотя AVD Test Lab похожи на AVD для Android Studio , между ними есть несколько отличий. Например, AVD в Test Lab имеют эмулированное соединение для передачи данных, а не соединение Wi-Fi.

AVD Test Lab с суффиксом .arm или (ARM) — это расширенные эмуляторы, обеспечивающие следующие преимущества:

  • Более быстрое время выполнения теста

  • Размеры и плотность экрана согласованы с AVD Android Studio для согласованности.

Использование AVD с суффиксом .arm или (ARM) обеспечивает следующие преимущества по сравнению с другими типами физических устройств:

Выгода Описание Случаи использования)
Высокая доступность Вы можете запускать тесты и получать результаты быстрее при тестировании с виртуальными устройствами. Поскольку виртуальные устройства создаются по запросу, ваши тесты начинаются почти сразу, обеспечивая быструю проверку вашего приложения. Тестирование небольших обновлений вашего приложения или регрессионное тестирование.
Более длительные испытания Тесты на физических устройствах ограничены продолжительностью 45 минут на каждом устройстве. Виртуальные устройства поддерживают продолжительность теста до 60 минут. Проведение более длинных тестов.
Низкие затраты Стоимость виртуальных устройств составляет 1 доллар США в час за каждое виртуальное устройство, используемое для тестирования вашего приложения. Ежедневное тестирование с использованием систем непрерывной интеграции или перед проверкой кода. Дополнительные сведения см. в разделе Уровни использования, квоты и цены для Test Lab .

Протестируйте свое приложение с виртуальными устройствами

Вы можете протестировать свое приложение на виртуальных устройствах так же, как и на физических устройствах. Просто выберите виртуальные устройства при выборе тестовых измерений, чтобы настроить тестовую матрицу. Дополнительные сведения о выполнении тестов с помощью Test Lab см. в статье Начало тестирования для Android с помощью Firebase Test Lab .

Просмотр поддерживаемых моделей и API

Чтобы просмотреть модели AVD и API, поддерживаемые Test Lab, выполните следующую команду:

gcloud firebase test android models list --filter=virtual

Рекомендации по тестированию вашего приложения

Виртуальные устройства расширяют ваши возможности при тестировании приложения с помощью Test Lab. Мы рекомендуем использовать передовые методы, описанные в этом разделе, для тестирования вашего приложения на протяжении всего жизненного цикла разработки.

Используйте эмулятор Android Studio или подключенное физическое устройство.

При разработке приложения используйте эмулятор Android Studio или подключенное физическое устройство, чтобы проверить каждую сборку на первоначальную проверку. Если у вас есть инструментальные тесты, вы также можете запустить эти тесты из Android Studio на физических или виртуальных устройствах, предоставленных Test Lab.

Используйте системы непрерывной интеграции при каждом изменении кода при работе над общими проектами.

Если вы работаете над большим проектом или участвуете в проектах, к которым предоставлен доступ через GitHub или аналогичный сервис, мы рекомендуем вам использовать системы непрерывной интеграции (CI).

Проверяйте свои приложения на виртуальных устройствах каждый раз, когда запускается система CI, или перед каждым запросом на вытягивание. Дополнительные сведения об использовании Test Lab с системами CI см. в разделе Использование Test Lab для Android с системами непрерывной интеграции .

Протестируйте свое приложение на физических устройствах с помощью Test Lab, прежде чем выпускать важные обновления приложения.

Прежде чем выпускать обновления приложения со значительными изменениями пользовательского интерфейса и функций, мы рекомендуем вам использовать Test Lab для тестирования вашего приложения на физических устройствах. Это поможет обеспечить стабильность и производительность вашего приложения на широком спектре популярных физических устройств. Тестирование на физических устройствах также обеспечивает тестовое покрытие для любых функций приложений, основанных на функциях физических устройств, которые не имитируются виртуальными устройствами. Чтобы узнать больше об этих функциях, см. Известные ограничения .

Обновления виртуальных устройств

Периодически команда Android добавляет новые образы виртуальных устройств, объявляет устаревшими старые и обновляет существующие. Мы применяем эти обновления к нашим образам виртуальных устройств, чтобы убедиться, что вы тестируете новейшие версии Android, отражающие опыт ваших пользователей.

В редких случаях эти обновления могут привести к неожиданному сбою тестов. При наличии известного потенциально критического обновления Test Lab включит информацию в примечания к выпуску . В качестве наилучшей практики мы рекомендуем вам использовать тестовые платформы, например Espresso , которые по возможности устойчивы к этим изменениям. Если это невозможно, мы рекомендуем ориентироваться на виртуальные устройства ARM, которые, как вы можете рассчитывать, будут обновляться реже.

Известные ограничения

Некоторые функции физических устройств в настоящее время не моделируются виртуальными устройствами или моделируются с некоторыми ограничениями. В следующей таблице перечислены функции, которые в настоящее время недоступны на виртуальных устройствах или доступны с определенными ограничениями.

Особенность Подробности
Двоичные интерфейсы приложений (ABI) Не все устройства поддерживают все ABI. Если вы разрабатываете с помощью Android NDK, обязательно сгенерируйте код для ABI, поддерживаемых целевыми устройствами. Дополнительные сведения см. в разделе Доступные устройства в Test Lab . Чтобы узнать больше об управлении ABI, см. Android ABI . Чтобы узнать, какие ABI поддерживаются устройством, см. раздел Проверка доступных тестовых устройств .

Примечание. Если тест в вашей тестовой матрице помечен как недействительный, это может произойти из-за того, что ваше приложение зависит от собственного кода, не поддерживаемого ABI устройства.

Графическая производительность Виртуальные устройства Nexus и Pixel используют программный рендеринг графики. Приложения с интенсивным использованием графики будут иметь более низкую производительность. Если ваше приложение интенсивно использует графику, используйте модели SmallPhone.arm и MediumPhone.arm или физические устройства.
Запись экрана Запись экрана на устройствах Nexus и Pixel — 1 кадр в секунду.
Графические API OpenGL ES 3.x не поддерживается на устройствах ниже уровня API 29. Новые устройства не на 100% совместимы с API OpenGL/Vulkan. Вы можете заметить небольшие различия в графике.

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