Check out what’s new from Firebase at Google I/O 2022. Learn more

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

Виртуальные устройства Android (AVD) для Firebase Test Lab — это высокоточные модели Android-устройств. AVD в Test Lab имеют самую высокую доступность и наиболее полезны для повседневной разработки или непрерывного интеграционного тестирования. Они похожи на AVD для Android Studio , но оптимизированы для производительности при облачном тестировании, поэтому между ними есть несколько отличий (например, AVD в Test Lab имеют эмулированное соединение для передачи данных, а не соединение WiFi).

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

Виртуальные устройства имеют следующие преимущества по сравнению с физическими устройствами:

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

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

Вы можете протестировать свое приложение на виртуальных устройствах так же, как и на физических устройствах. Просто выберите виртуальные устройства при выборе тестовых измерений, чтобы настроить тестовую матрицу.

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

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

  • В Android Studio: при разработке приложения используйте эмулятор Android Studio или подключенное физическое устройство для проверки каждой сборки на предмет первоначальной проверки. Если у вас есть инструментальные тесты, вы также можете запустить эти тесты из Android Studio на физических или виртуальных устройствах, предоставленных Test Lab.
  • Используйте тестовую лабораторию с универсальным виртуальным устройством среднего разрешения (MDPI) с низким разрешением: вы можете запускать тесты Robo и инструментальные тесты в своем приложении быстрее с помощью универсального виртуального устройства телефона MDPI с низким разрешением Test Lab, чем с другими виртуальными устройствами. Виртуальное устройство MDPI доступно на уровне API 23 и выше. Чтобы использовать это устройство из интерфейса командной строки gcloud, используйте идентификатор модели NexusLowRes .
  • Используйте системы непрерывной интеграции (CI) для каждого изменения кода при работе над общими проектами: если вы работаете над большим проектом или участвуете в проектах, которые совместно используются с помощью GitHub или аналогичных сайтов, мы рекомендуем вам использовать непрерывную интеграцию (CI). систем и тестируйте свои приложения на виртуальных устройствах каждый раз, когда запускается система CI или перед каждым запросом на включение. Дополнительные сведения об использовании Test Lab с системами CI см. в разделе Использование Test Lab для Android с системами непрерывной интеграции .
  • Перед выпуском значительных обновлений приложения: мы рекомендуем использовать Test Lab для тестирования вашего приложения на физических устройствах, прежде чем выпускать обновления приложения со значительными изменениями в пользовательском интерфейсе и функциях. Это поможет гарантировать, что ваше приложение будет хорошо работать на широком спектре популярных физических устройств, а также обеспечит тестовое покрытие для любой функциональности приложения, которая зависит от функций физического устройства, которые не моделируются виртуальными устройствами. Чтобы узнать больше об этих функциях, см. Известные ограничения .

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

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

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

Примечание. Если некоторые тесты в вашей тестовой матрице помечены как Invalid , это может быть связано с тем, что ваше приложение использует собственный код ARM.
Кодирование и декодирование видео В настоящее время на виртуальных устройствах поддерживается только декодирование видео H264. Кодирование видео не поддерживается.

Примечание. Видео тестов виртуальных устройств в настоящее время воспроизводятся со скоростью один кадр в секунду, что делает их менее плавными, чем видео тестов физических устройств.
OpenGLES 3.x Графические библиотеки OpenGL ES 3.x и выше недоступны на виртуальных устройствах.
Камера HAL v3 Дополнительные сведения о Android Camera HAL v3.0 см. в разделе Обзор Camera HAL v3 .
Виртуальная частная сеть (VPN) В настоящее время использование VPN не поддерживается на виртуальных устройствах.