Прежде чем вы сможете выполнить автоматизированные тесты CTS, подготовьте физическую среду, настройте рабочую станцию и устройство, которое вы тестируете.
Настройте физическую среду
Некоторые тесты CTS требуют использования внешних устройств, которые должны быть установлены рядом с DUT. Чтобы настроить вашу физическую среду:
(необязательно) Если ваш DUT поддерживает Bluetooth LE, разместите не менее трех маяков Bluetooth LE в пределах 5 метров от DUT для тестирования сканирования Bluetooth LE. Дополнительно:
- Маяки не нужно настраивать или излучать что-то конкретное.
- Маяки могут быть любого типа, включая iBeacon, Eddystone или даже устройства, имитирующие маяки BLE.
Расположите телефон перед объектом, например, стеной или потолком, на расстоянии, эквивалентном минимальному фокусному расстоянию DUT. Дополнительно:
- Освещение сцены должно быть достаточным, чтобы тестируемые датчики могли достичь и поддерживать максимальное заданное целевое количество кадров в секунду (FPS), указанное в
CONTROL_AE_TARGET_FPS_RANGE
. - Эта настройка применяется ко всем датчикам камеры, о которых сообщает
getCameraIdList
, поскольку тест проходит по всем перечисленным устройствам и измеряет производительность по отдельности. - Если DUT поддерживает внешние камеры, такие как USB-веб-камеры, подключите внешнюю камеру при запуске CTS. В противном случае тесты CTS не пройдут.
- Освещение сцены должно быть достаточным, чтобы тестируемые датчики могли достичь и поддерживать максимальное заданное целевое количество кадров в секунду (FPS), указанное в
(необязательно) Если ваш DUT поддерживает глобальную систему позиционирования (GPS) или другую глобальную навигационную спутниковую систему (GNSS), подайте сигнал GNSS на DUT на подходящем уровне сигнала для приема и расчета местоположения. Дополнительно:
- GPS должен соответствовать стандарту ICD-GPS-200C.
- Сигнал GNSS может быть любого типа, включая спутниковый имитатор или ретранслятор наружных сигналов.
- Вы можете разместить тестируемое устройство близко к окну, чтобы оно могло напрямую принимать достаточный уровень сигнала GNSS со спутника.
Убедитесь, что ваша сеть Wi-Fi поддерживает IPv4 и IPv6, имеет подключение к Интернету с DNS для IPv4 и IPv6, поддерживает многоадресную IP-рассылку и может рассматривать DUT как изолированный клиент .
Если у вас нет доступа к собственной сети IPv6, сети оператора IPv6 или VPN для прохождения тестов IPv6, используйте точку доступа Wi-Fi и туннель IPv6.
Убедитесь, что на интерфейсе Wi-Fi тестируемого устройства установлены флаги
UP
,BROADCAST
иMULTICAST
.Убедитесь, что интерфейсу Wi-Fi назначены адреса IPv4 и IPv6. Чтобы проверить свойства интерфейса Wi-Fi, запустите
adb shell ifconfig
.(необязательно) Если ваш DUT поддерживает 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, связанные с Mainline. В зависимости от скорости вашей сети эта загрузка добавляет 10 минут или больше к времени выполнения CTS.
Чтобы избежать этого дополнительного времени выполнения CTS, вы можете загрузить файлы CTS, связанные с Mainline, перед запуском CTS. Для получения информации о загрузке файлов CTS, связанных с Mainline, см. Загрузка файлов CTS, связанных с Mainline .
Подготовьте проверяемое устройство
После настройки настольного компьютера необходимо настроить и сконфигурировать тестируемое устройство.
Настройка тестируемого устройства
Для настройки проверяемого устройства:
Убедитесь, что DUT использует системный образ на основе известной совместимой пользовательской сборки (Android 4.0 или выше) из Codenames, Tags, and Build Numbers и использует вариант
user
сборки. Подробнее о вариантах сборки см. в разделе Choose a target .Если DUT работает под управлением 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:
- Загрузите пакет shim APEX для вашей конкретной версии Android и аппаратной архитектуры. Левые два столбца в таблице пакетов shim предоставляют ссылки на пакет для загрузки.
- Скопируйте загруженный пакет в
/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) DUT или на SIM-карту, используемую DUT. Для получения дополнительной информации см. Тест CTS для защищенного элемента .
Если на вашем устройстве нет встроенного экрана, подключите экран к устройству.
Если устройство имеет слот для карты памяти, вставьте пустую карту SD. Используйте карту SD, которая поддерживает сверхскоростную шину (UHS) с емкостью SDHC или SDXC или карту с классом скорости 10 или выше, чтобы гарантировать, что она может пройти CTS.
Если устройство имеет слоты для SIM-карт, вставьте активированную SIM-карту в каждый слот. Если устройство поддерживает SMS, каждая SIM-карта должна иметь заполненное поле номера. Для устройств под управлением Android 12 или выше все SIM-карты должны поддерживать сохранение сокращенных номеров набора (ADN). Карты GSM и USIM с выделенным файлом телекоммуникаций (DF Telecom ) удовлетворяют этому требованию.
Убедитесь, что на вашем устройстве установлена SIM-карта с правами оператора CTS, соответствующая требованиям, указанным в разделе Подготовка карты UICC .
Настройте DUT
Чтобы настроить тестируемое устройство для использования с CTS, выполните следующие действия.
На проверяемом устройстве:
Выполните сброс настроек устройства до заводских.
Установите язык устройства на английский (США) .
Если устройство поддерживает настройку шрифтов по умолчанию, убедитесь, что в качестве семейства шрифтов sans-serif по умолчанию установлено значение Roboto .
Если на устройстве есть функция GPS, Wi-Fi или мобильной сети, включите настройку местоположения.
Подключитесь к сети Wi-Fi, которая поддерживает IPv6, может рассматривать DUT как изолированный клиент и имеет подключение к Интернету. Для объяснения изолированных клиентов см. Настройка физической среды .
Убедитесь, что не установлен графический ключ или пароль.
Включить отладку по 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
Если имеется несколько DUT, добавьте в конец параметр последовательного порта (
-s
) определенного устройства. Например, чтобы скопировать до 720x480 на устройство с серийным номером 1234567, выполните:./copy_media.sh 720x480 -s 1234567
- Перейдите (
Загрузить файлы CTS, связанные с основной линией
Чтобы загрузить файлы CTS, относящиеся к Mainline:
Получите уровень API Android на устройстве, выполнив:
adb shell getprop ro.build.version.sdk
Следуйте инструкциям в скрипте
download_mcts.sh
для загрузки файлов Mainline 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 .