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

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

AVD-устройства Test Lab с расширением .arm или (Arm) — это продвинутые эмуляторы, предоставляющие следующие преимущества:

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

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

  • Ускоренная графика с поддержкой графического процессора.

В таблице ниже описаны преимущества использования виртуальных устройств:

Выгода Описание Вариант(ы) использования
Высокая доступность Тестирование с использованием виртуальных устройств позволяет запускать тесты и получать результаты быстрее. Поскольку виртуальные устройства создаются по запросу, ваши тесты запускаются практически мгновенно, обеспечивая быструю проверку вашего приложения. Тестирование небольших обновлений вашего приложения или регрессионное тестирование.
Более длительная продолжительность тестирования Виртуальные устройства поддерживают продолжительность тестирования до 60 минут. Тестирование на физических устройствах ограничено 45 минутами на каждом устройстве. Проведение более длительных тестов
Снижение затрат Стоимость использования виртуальных устройств для тестирования вашего приложения составляет 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 .

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

Если вы работаете над крупным проектом или участвуете в проектах, которые распространяются через GitHub или аналогичные сайты, мы рекомендуем использовать системы непрерывной интеграции (CI). Тестируйте свои приложения на виртуальных устройствах каждый раз, когда запускается система CI, или перед каждым запросом на слияние (pull request). Чтобы узнать больше об использовании Test Lab с системами CI, см. раздел «Использование Test Lab для Android с системами непрерывной интеграции» .

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

Before you release app updates with significant changes in UI and functionality, we recommend that you use Test Lab to test your app on physical devices. This will help to ensure that your app is stable and performant on a wide range of popular physical devices. Testing on physical devices also ensures test coverage for any app functionality that relies on physical device features that are not simulated by virtual devices. To learn more about these features, see Known limitations .

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

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

In rare cases, these updates may cause tests to fail unexpectedly. When there is a known potentially breaking update, Test Lab will include information in release notes . As a best practice, we recommend you use test frameworks – for example, Espresso – that are robust to these changes whenever possible. When that is not possible, we recommend you target Arm virtual devices, which you can expect to update less frequently.

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

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

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

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

Производительность графики Виртуальные устройства Nexus и Pixel используют программный рендеринг графики. Приложения, интенсивно использующие графику, могут демонстрировать снижение производительности. Если ваше приложение требует интенсивной работы с графикой, рассмотрите возможность использования SmallPhone.arm, MediumPhone.arm или физических устройств.
Графические API OpenGL ES 3.x не поддерживается на устройствах с уровнем API ниже 29. Более новые устройства не на 100% совместимы с API OpenGL/Vulkan, поэтому вы можете заметить небольшие различия в графике.
Приложение Google Play Store Приложение Google Play Store не поддерживается на виртуальных устройствах Arm.
Функциональность дополненной реальности (AR) Тестирование функциональности дополненной реальности (AR) не поддерживается на виртуальных устройствах.
Более старые уровни API Виртуальные устройства Arm Test Lab не поддерживают уровни API ниже 26.

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