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