Прежде чем вы сможете выполнить автоматизированные тесты CTS, подготовьте физическую среду, настройте рабочую станцию и настройте тестируемое устройство.
Настройте физическую среду
Для некоторых тестов CTS требуется использование внешних устройств, установленных рядом с тестируемым устройством. Чтобы настроить физическую среду:
(необязательно) Если ваше проверяемое устройство поддерживает Bluetooth LE, разместите не менее трёх маяков Bluetooth LE в пределах 5 метров от проверяемого устройства для тестирования сканирования Bluetooth LE. Дополнительно:
- Маяки не требуют настройки и не должны излучать какие-либо особые сигналы.
- Маяки могут быть любого типа, включая iBeacon, Eddystone или даже устройства, имитирующие маяки BLE.
Расположите телефон перед объектом съёмки, например, стеной или потолком, на расстоянии, эквивалентном минимальному фокусному расстоянию тестируемого устройства. Дополнительно:
- Освещение сцены должно быть достаточным для того, чтобы тестируемые датчики могли достичь и поддерживать максимальное заданное целевое количество кадров в секунду (FPS), указанное в
CONTROL_AE_TARGET_FPS_RANGE
. - Эта настройка применяется ко всем датчикам камеры, о которых сообщает
getCameraIdList
, поскольку тест проходит по перечисленным устройствам и измеряет производительность по отдельности. - Если проверяемое устройство поддерживает внешние камеры, например, USB-веб-камеры, подключите внешнюю камеру во время выполнения CTS. В противном случае тесты CTS будут не пройдены.
- Освещение сцены должно быть достаточным для того, чтобы тестируемые датчики могли достичь и поддерживать максимальное заданное целевое количество кадров в секунду (FPS), указанное в
(необязательно) Если ваше проверяемое устройство поддерживает глобальную систему позиционирования (GPS) или другую глобальную навигационную спутниковую систему (GNSS), подайте на проверяемое устройство сигнал GNSS с уровнем сигнала, подходящим для приёма и определения местоположения. Дополнительно:
- GPS-приемник должен соответствовать стандарту ICD-GPS-200C.
- Сигнал GNSS может быть любого типа, включая имитатор спутников или ретранслятор наружных сигналов.
- Вы можете разместить проверяемое устройство рядом с окном, чтобы оно могло напрямую принимать достаточный уровень сигнала GNSS со спутника.
Убедитесь, что ваша сеть Wi-Fi поддерживает IPv4 и IPv6, имеет подключение к Интернету с DNS для IPv4 и IPv6, поддерживает многоадресную рассылку IP и может рассматривать DUT как изолированный клиент .
Если у вас нет доступа к собственной сети IPv6, сети оператора IPv6 или VPN для прохождения тестов IPv6, используйте точку доступа Wi-Fi и туннель IPv6.
Убедитесь, что на интерфейсе Wi-Fi DUT установлены флаги
UP
,BROADCAST
иMULTICAST
.Убедитесь, что интерфейсу Wi-Fi назначены адреса IPv4 и IPv6. Чтобы проверить свойства интерфейса Wi-Fi, выполните
adb shell ifconfig
.(необязательно) Если ваше проверяемое устройство поддерживает Wi-Fi STA или STA concurrency , настройте как минимум две сети Wi-Fi. Эти сети Wi-Fi должны работать в разных диапазонах с разными SSID или на одном SSID с разными BSSID.
(необязательно) Если ваше DUT поддерживает время кругового прохождения сигнала по Wi-Fi (RTT) , настройте устройство, поддерживающее Wi-Fi RTT:
- Разместите устройство Wi-Fi RTT на расстоянии не более 40 футов от проверяемого устройства.
- Включите Wi-Fi RTT-устройство.
Вот два рекомендуемых устройства, поддерживающих Wi-Fi RTT: - Google Wifi - Точка доступа fitlet2 от Compulab (настроена на полосу пропускания 40 МГц при 5 ГГц).
Настройте свой настольный компьютер
Перед запуском автоматизированных тестов CTS убедитесь, что ваш настольный компьютер соответствует требованиям к оборудованию и операционной системе, а также на нем установлено соответствующее программное обеспечение, как описано в следующих разделах.
Соответствие требованиям к оборудованию
Ваш настольный компьютер CTS должен соответствовать или превосходить следующие аппаратные требования:
64-битная система x86
Не менее 256 ГБ свободного места на диске для размещения возросшего количества тестовых случаев CTS и увеличения резервирования пространства кучи Java в Tradefed.
Минимум 32 ГБ оперативной памяти
Соответствовать требованиям операционной системы
На вашем компьютере для разработки должен быть установлен 64-битный дистрибутив Linux с библиотекой GNU C (glibc) 2.17 или выше.
Для того чтобы CTS мог правильно определить путь, необходимо установить язык операционной системы на «английский».
Установить программное обеспечение для ПК
Чтобы установить соответствующее программное обеспечение для настольного компьютера CTS:
Установите самые последние версии Android Debug Bridge (adb) и Android Asset Packaging Tool (AAPT2) и добавьте расположение этих инструментов в системный путь вашего компьютера:
- Следуйте инструкциям в начале документации по SDK Manager , чтобы установить инструмент командной строки
sdkmanager
. Ссылка для загрузки инструментов командной строки находится в разделе «Только инструменты командной строки» внизу страницы загрузки Android Studio . - Обновите системный путь, включив в него расположение недавно установленного
sdkmanager
. - Используя
sdkmanager
, установите последние версии пакетовplatform-tools
иbuild-tools
. Эти пакеты содержат adb и AAPT2. Информация об установке пакетов приведена в разделе Установка пакетов . - Обновите путь, включив в него расположение недавно установленных инструментов adb и AAPT2.
- Убедитесь, что adb и AAPT2 есть в вашем пути.
- Следуйте инструкциям в начале документации по SDK Manager , чтобы установить инструмент командной строки
Установите нужную версию Java Development Kit (JDK) :
- Для Android 11 и выше установите JDK 11.
- Для Android 10 или ниже см. раздел Настройка CTS (AOSP 10 или ниже) .
(необязательно) Для Android 13 и 14 установите virtualenv . Инструмент virtualenv необходим для тестирования нескольких устройств.
Чтобы убедиться, что Python установлен, введите
python3
. Должны появиться версия и дата Python, что означает, что Python установлен правильно.Загрузите и откройте пакеты CTS из загрузок Compatibility Test Suite, соответствующие версии Android вашего устройства и всем двоичным интерфейсам приложений (ABI), которые поддерживают ваши устройства.
Загрузите и откройте последнюю версию медиафайлов CTS . Медиафайлы включают видеоклипы из Big Buck Bunny , авторские права на которые принадлежат Blender Foundation по лицензии Creative Commons Attribution 3.0 .
(необязательно) При первом запуске CTS динамически загружаются некоторые файлы CTS, относящиеся к основной линии. В зависимости от скорости вашего интернет-соединения эта загрузка может увеличить время работы CTS на 10 минут или более.
Чтобы избежать дополнительного времени выполнения CTS, вы можете загрузить файлы CTS, связанные с Mainline, перед запуском CTS. Информация о загрузке файлов CTS, связанных с Mainline, приведена в разделе «Загрузка файлов CTS, связанных с Mainline» .
Подготовьте проверяемое устройство
После настройки настольного компьютера необходимо настроить и сконфигурировать проверяемое устройство.
Настройка DUT
Чтобы настроить проверяемое устройство:
Убедитесь, что проверяемое устройство использует образ системы на основе заведомо совместимой пользовательской сборки (Android 4.0 или выше) из раздела «Кодовые имена, теги и номера сборок» , и использует вариант
user
сборки. Подробнее о вариантах сборки см. в разделе «Выбор целевой платформы» .Если проверяемое устройство работает под управлением Android 13 или более поздней версии, убедитесь, что в сборке
ro.product.first_api_level
установлен на уровень API, с которым устройство было выпущено в продажу. Чтобы задать это значение, внесите следующие изменения в файлdevice.mk
:PRODUCT_SHIPPING_API_LEVEL := 21
Некоторые требования CTS зависят от сборки, с которой изначально поставлялось устройство. Например, устройства, изначально поставляемые с более ранними сборками, могут быть исключены из системных требований, применяемых к устройствам с более поздними сборками. Допустимые значения уровня API см. в разделе «Кодовые имена, теги и номера сборок» . Подробнее о
ro.product.first_api_level
см. в разделе «Уровень API поставщика» .Для Android 10 или ниже см. раздел Настройка CTS (AOSP 10 или ниже) .
Если ваше устройство поддерживает управление пакетами APEX:
- Загрузите пакет APEX для вашей версии Android и аппаратной архитектуры. Ссылки на пакеты для скачивания находятся в двух левых столбцах таблицы пакетов .
- Скопируйте загруженный пакет в
/system/apex
. - Переименуйте файл в
com.android.apex.cts.shim.apex
.
Если ваше устройство не поддерживает управление пакетами APEX:
- Загрузите пакеты shim APEX для вашей версии Android и аппаратной архитектуры. Ссылки на пакеты для скачивания находятся в двух правых столбцах таблицы пакетов shim .
- Скопируйте
CtsShim.apk
в/system/app/
- Переименуйте
CtsShim.apk
вCtsShimPrebuilt.apk
- Скопируйте
CtsShimPriv.apk
в/system/priv-app/
- Переименуйте
CtsShimPriv.apk
вCtsShimPrivPrebuilt.apk
Если ваше устройство сообщает более чем об одном защищенном элементе:
- Загрузите
google-cardlet.cap
. - Скопируйте загруженный файл в
/data/uicc/cardlets/
.
- Загрузите
Если ваше устройство сообщает о наличии более одного элемента безопасности, установите образец апплета во встроенный элемент безопасности (eSE) тестируемого устройства или на SIM-карту, используемую тестируемым устройством. Подробнее см. в разделе «Тест CTS для элемента безопасности» .
Если на вашем устройстве нет встроенного экрана, подключите экран к устройству.
Если на устройстве есть слот для карты памяти, вставьте пустую SD-карту. Используйте SD-карту с поддержкой сверхвысокой скорости (UHS) и емкостью SDHC или SDXC либо карту с классом скорости 10 или выше, чтобы она прошла тест CTS.
Если устройство оснащено слотами для SIM-карт, вставьте активированную SIM-карту в каждый слот. Если устройство поддерживает SMS, для каждой SIM-карты должно быть заполнено поле с номером. Для устройств под управлением Android 12 и выше все SIM-карты должны поддерживать функцию сохранения номеров сокращённого набора (ADN). Этому требованию соответствуют карты GSM и USIM со специальным файлом для телекоммуникаций (DF Telecom ).
Убедитесь, что на вашем устройстве установлена SIM-карта с правами оператора CTS, соответствующая требованиям, указанным в разделе «Подготовка карты UICC» .
Настройте DUT
Для настройки DUT для использования с CTS выполните следующие шаги.
На ДУТ:
Выполните сброс настроек устройства к заводским настройкам.
Установите язык устройства на английский (США) .
Если устройство поддерживает настройку шрифтов по умолчанию, убедитесь, что в качестве семейства шрифтов без засечек по умолчанию установлено значение Roboto .
Если на устройстве есть функция GPS, Wi-Fi или мобильной сети, включите настройку местоположения.
Подключитесь к сети Wi-Fi, которая поддерживает IPv6, может рассматривать проверяемое устройство как изолированного клиента и имеет подключение к Интернету. Подробнее об изолированных клиентах см. в разделе «Настройка физической среды» .
Убедитесь, что не установлен графический ключ или пароль.
Включить отладку по USB:
Перейдите в «Настройки» > «О телефоне» и нажмите «Номер сборки» семь раз. В категории «Системные настройки» появится раздел « Параметры разработчика» .
Нажмите «Отладка по USB» .
Чтобы включить отладку по USB на Android 10 или ниже, см. раздел Настройка CTS (AOSP 10 или ниже) .
Установите время в 12-часовом формате.
Включите «Параметры разработчика» > «Бодрствовать» .
Отключить проверку USB-приложения:
Перейдите в раздел «Параметры разработчика» .
Нажмите «Проверка приложений через USB» .
В Android 13 и выше включите функцию фиктивного модема:
Перейдите в раздел «Параметры разработчика» .
Нажмите «Разрешить поддельный модем» .
Эта настройка необходима для определенных тестов телефонии.
На настольном компьютере:
Запустите браузер и закройте все экраны запуска и настройки.
Подключите проверяемое устройство к настольному компьютеру с помощью USB-кабеля.
Если система предложит вам принять ключ RSA, разрешающий отладку через этот компьютер, нажмите Разрешить отладку по USB .
Установите Roboto2 как шрифт без засечек, используя доступную пользователю настройку (не скрытую).
Скопируйте медиафайлы CTS в DUT:
- Перейдите (
cd
) в папку, куда загружены и распакованы медиафайлы. Измените права доступа к файлу:
chmod u+x copy_media.sh
Скопируйте файлы:
Чтобы скопировать клипы с разрешением до 720x480, выполните:
./copy_media.sh 720x480
Если вы не уверены в максимальном разрешении, скопируйте все файлы:
./copy_media.sh all
Если тестируемых устройств несколько, добавьте в конец параметр последовательного порта (
-s
) конкретного устройства. Например, чтобы скопировать изображение с разрешением до 720x480 на устройство с серийным номером 1234567, выполните:./copy_media.sh 720x480 -s 1234567
- Перейдите (
Загрузите файлы CTS, связанные с основной линией
Чтобы загрузить файлы CTS, связанные с Mainline:
Получите уровень API Android на устройстве, выполнив:
adb shell getprop ro.build.version.sdk
Следуйте инструкциям в скрипте
download_mcts.sh
для загрузки основных файлов CTS.Загрузка займет не менее 10 минут в зависимости от скорости вашего соединения.
Пакеты прокладок
В следующей таблице перечислены пакеты, доступные для каждой версии устройства и архитектуры:
Версия устройства | Пакеты (если поддерживается APEX) | Пакеты (если APEX не поддерживается) | ||
---|---|---|---|---|
РУКА | x86 | РУКА | x86 | |
Андроид 16 | 16-arm-release | android16-x86-release | android16-arm-CtsShim.apk | android16-x86-CtsShim.apk |
Андроид 15 | 15-arm-release | android15-x86-release | android15-arm-CtsShim.apk | android15-x86-CtsShim.apk |
Андроид 14 | android14-arm-release | android14-x86-release | android14-arm-CtsShim.apk | android14-x86-CtsShim.apk |
Андроид 13 | android13-arm-release | android13-x86-release | android13-arm-CtsShim.apk | android13-x86-CtsShim.apk |
Андроид 12 | android12-arm-release | android12-x86-release | android12-arm-CtsShim.apk | android12-x86-CtsShim.apk |
Андроид 11 | android11-arm-release | android11-x86-release | android11-arm-CtsShim.apk | android11-x86-CtsShim.apk |
Андроид 10 | android10-release | android10-arm-CtsShim.apk | android10-x86-CtsShim.apk | |
Android 9, O и O-MR1 | Н/Д | Н/Д | arm-CtsShim.apk | x86-CtsShim.apk |
Что дальше?
После прочтения этого документа перейдите к выполнению автоматизированных тестов CTS .