В этом документе описаны AVD для Test Lab, в том числе преимущества и известные ограничения. Мы также даем рекомендации о том, как тестировать приложение на протяжении всего жизненного цикла разработки. Test Lab Они похожи на виртуальные устройства Android для Android Studio, но оптимизированы для тестирования в облаке, поэтому между ними есть некоторые различия.
Test Lab Виртуальные устройства Android с суффиксом .arm или (Arm) – это продвинутые эмуляторы, которые обладают следующими преимуществами:
Более быстрое выполнение тестов.
Размеры и плотность экранов соответствуют виртуальным устройствам Android в Android Studio.
Графический процессор с поддержкой аппаратного ускорения графики
В таблице ниже описаны преимущества использования виртуальных устройств.
| Преимущества | Описание | Примеры использования |
| Высокая доступность | При тестировании на виртуальных устройствах вы можете быстрее запускать тесты и получать результаты. Поскольку виртуальные устройства создаются по запросу, тестирование начинается почти сразу, что позволяет быстро проверить приложение. | Тестирование небольших обновлений или регрессионное тестирование. |
| Более длительное тестирование | На виртуальных устройствах тестирование может длиться до 60 минут. Тестирование на физических устройствах ограничено 45 минутами на каждое устройство. | Как проводить более длительные тесты |
| Снижение расходов | Стоимость тестирования на виртуальных устройствах составляет 1 доллар США за час использования каждого устройства. | Ежедневное тестирование с использованием систем непрерывной интеграции или перед проверкой кода. Подробнее об уровнях использования, квотах и ценах на Test Lab… |
Тестирование приложения на виртуальных устройствах
Тестирование приложения на виртуальных устройствах выполняется так же, как и на физических устройствах. Вы можете выбрать виртуальные устройства для тестов при настройке матрицы тестов. Подробнее о том, как проводить тестирование с помощью Test Lab, рассказывается в статье Начало работы с Firebase Test Lab для Android.
Посмотреть поддерживаемые модели и 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). Тестируйте приложения на виртуальных устройствах при каждом запуске системы непрерывной интеграции или перед каждым pull-запросом. Подробнее о том, как использовать Test Lab с системами непрерывной интеграции, рассказывается в статье Использование Test Lab для Android с системами непрерывной интеграции.
Перед выпуском важных обновлений приложения тестируйте его на физических устройствах с помощью Test Lab.
Прежде чем выпускать обновления приложения со значительными изменениями в интерфейсе и функциональности, рекомендуем протестировать его на физических устройствах с помощью Test Lab. Это поможет обеспечить стабильность и производительность приложения на широком спектре популярных физических устройств. Тестирование на физических устройствах также позволяет проверить функции приложения, которые зависят от аппаратных возможностей, не поддерживаемых виртуальными устройствами. Подробнее об известных ограничениях…
Обновления виртуальных устройств
Команда Android периодически добавляет новые образы виртуальных устройств, прекращает поддержку старых и обновляет существующие. Мы применяем эти обновления к образам виртуальных устройств, чтобы вы могли тестировать приложения на актуальных версиях Android, которые используют ваши пользователи.
В редких случаях это может привести к неожиданным сбоям в работе тестов. Если известно, что обновление может нарушить работу, Test Lab добавит информацию в примечания к выпуску. Рекомендуем использовать фреймворки для тестирования, например Espresso, которые устойчивы к таким изменениям. Если это невозможно, рекомендуем настроить таргетинг на виртуальные устройства Arm, которые обновляются реже.
Известные ограничения
Некоторые функции физических устройств не поддерживаются виртуальными устройствами или поддерживаются с ограничениями. В таблице ниже перечислены функции, которые в настоящее время недоступны на виртуальных устройствах или доступны с определенными ограничениями.
| Функция | Подробнее… |
| Двоичные интерфейсы приложений (ABI) | Не все устройства поддерживают все ABI. Если вы разрабатываете приложение с помощью Android NDK, убедитесь, что код генерируется для ABI, поддерживаемых целевыми устройствами (см. раздел Доступные устройства в Test Lab). Подробнее об управлении ABI…
Примечание. Если тест в матрице помечен как недействительный, это может быть связано с тем, что ваше приложение зависит от нативного кода, который не поддерживается ABI устройства. |
| Производительность графики | Виртуальные устройства Nexus и Pixel используют программный рендеринг графики. Приложения с интенсивным использованием графики могут работать медленнее. Если в вашем приложении много графики, используйте SmallPhone.arm, MediumPhone.arm или физические устройства. |
| Графические API | OpenGL ES 3.x не поддерживается на устройствах с уровнем API ниже 29. Новые устройства не полностью совместимы с API OpenGL/Vulkan, поэтому вы можете заметить небольшие различия в графике. |
| Приложение Google Play | Приложение Google Play не поддерживается на виртуальных устройствах Arm. |
| Функции дополненной реальности | Тестирование функций дополненной реальности на виртуальных устройствах не поддерживается. |
| Более ранние уровни API | Test Lab Виртуальные устройства Arm не поддерживают уровень API ниже 26. |