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

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

Test Lab AVDs with an .arm or (Arm) suffix are advanced emulators which provide the following benefits:

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

  • Screen sizes and densities aligned with Android Studio's AVDs for consistency

  • Графика с поддержкой графического процессора

The following table describes the benefits of using virtual devices:

Выгода Описание Вариант(ы) использования
Высокая доступность Тестирование с использованием виртуальных устройств позволяет запускать тесты и получать результаты быстрее. Поскольку виртуальные устройства создаются по запросу, ваши тесты запускаются практически мгновенно, обеспечивая быструю проверку вашего приложения. Testing small updates to your app, or for regression testing.
Более длительная продолжительность тестирования Virtual devices support a test duration of up to 60 minutes. Tests on physical devices are limited to a test duration of 45 minutes on each device. Проведение более длительных тестов
Снижение затрат Virtual devices are priced at $1 per hour for each virtual device used to test your app. Daily testing using continuous integration systems, or before checking in code. To learn more, see Usage levels, quotas, and pricing for Test Lab .

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

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

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

To view AVD models and APIs supported by Test Lab , run the following command:

gcloud firebase test android models list --filter=virtual

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

Virtual devices increase your range of options when you test your app with Test Lab . We recommend using the following best practices to test your app throughout the app development lifecycle:

Use the Android Studio emulator or an attached physical device

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

Use CI systems on each code change when working on shared projects

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

Test your app on physical devices with Test Lab before you release significant app updates

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

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

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

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

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

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

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

Note: If a test in your test matrix is marked Invalid, this might occur because your app has a dependency on native code unsupported by the device ABI.

Производительность графики Виртуальные устройства Nexus и Pixel используют программный рендеринг графики. Приложения, интенсивно использующие графику, могут демонстрировать снижение производительности. Если ваше приложение требует интенсивной работы с графикой, рассмотрите возможность использования SmallPhone.arm, MediumPhone.arm или физических устройств.
Графические API OpenGL ES 3.x is unsupported on devices below API level 29. Newer devices are not 100% compatible with OpenGL/Vulkan APIs, you may notice small differences in graphics.
Приложение Google Play Store The Google Play Store App is unsupported on Arm virtual devices.
Функциональность дополненной реальности (AR) Testing the Augmented Reality (AR) functionality is not supported on virtual devices.
Более старые уровни API Test Lab Arm virtual devices don't support API levels less than 26.

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