Прежде чем запускать автоматизированные тесты 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-многоадресную рассылку и может рассматривать тестируемое устройство как изолированный клиент .
Если у вас нет доступа к собственной сети IPv6, сети оператора связи, поддерживающей IPv6, или VPN для прохождения тестов IPv6, используйте точку доступа Wi-Fi и туннель IPv6.
Убедитесь, что на Wi-Fi-интерфейсе тестируемого устройства установлены флаги
UP,BROADCASTиMULTICAST.Убедитесь, что интерфейсу Wi-Fi назначены адреса IPv4 и IPv6. Чтобы проверить свойства интерфейса Wi-Fi, выполните команду
adb shell ifconfig.(необязательно) Если ваше тестируемое устройство поддерживает Wi-Fi STA или одновременную работу STA , настройте как минимум две сети Wi-Fi. Эти сети Wi-Fi должны работать в разных диапазонах с разными SSID или в одном и том же SSID с разными BSSID.
(необязательно) Если ваше тестируемое устройство поддерживает измерение времени отклика Wi-Fi (RTT) , настройте устройство, поддерживающее Wi-Fi RTT:
- Разместите устройство Wi-Fi RTT на расстоянии не более 12 метров от тестируемого устройства.
- Включите устройство 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) и добавьте расположение этих инструментов в системный путь вашего компьютера:
- Для установки инструмента командной строки
sdkmanagerследуйте инструкциям в начале документации по SDK Manager . Ссылка для загрузки инструментов командной строки находится в разделе « Только инструменты командной строки» внизу страницы загрузки Android Studio . - Обновите системный путь, указав в нем расположение недавно установленного
sdkmanager. - С помощью
sdkmanagerустановите последние версии пакетовplatform-toolsиbuild-tools. Эти пакеты содержат adb и AAPT2. Информацию об установке пакетов см. в разделе «Установка пакетов» . - Обновите путь, указав в нем расположение недавно установленных инструментов adb и AAPT2.
- Убедитесь, что adb и AAPT2 добавлены в переменную PATH.
- Для установки инструмента командной строки
Установите соответствующую версию Java Development Kit (JDK) :
- Для Android 11 и выше установите JDK 11.
- Для Android 10 и более ранних версий см. раздел «Настройка CTS (AOSP 10 и более ранних версий)» .
(необязательно) Для Android 13 и 14 установите virtualenv . Инструмент virtualenv необходим для тестирования на нескольких устройствах.
Чтобы убедиться, что Python установлен, введите команду
python3. Должны отобразиться версия и дата Python, что указывает на правильную установку программы.Загрузите и откройте пакеты CTS из раздела «Загрузки Compatibility Test Suite» , соответствующие версии Android вашего устройства и всем поддерживаемым вашим устройством двоичным интерфейсам приложений (ABI).
Загрузите и откройте последнюю версию медиафайлов CTS . Медиафайлы включают видеоклипы из Big Buck Bunny , авторские права на которые принадлежат Blender Foundation и распространяются по лицензии Creative Commons Attribution 3.0 .
(необязательно) При первом запуске CTS происходит динамическая загрузка некоторых файлов CTS, связанных с основной веткой. В зависимости от скорости вашего интернет-соединения, эта загрузка может увеличить время работы CTS на 10 минут и более.
Чтобы избежать дополнительного времени выполнения CTS, вы можете загрузить файлы CTS, относящиеся к основной ветке, перед запуском CTS. Информацию о загрузке файлов CTS, относящихся к основной ветке, см. в разделе «Загрузка файлов CTS, относящихся к основной ветке» .
Подготовьте тестируемое устройство
После настройки настольного компьютера необходимо настроить и сконфигурировать тестируемое устройство (DUT).
Настройте тестируемое устройство (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 shim, соответствующий вашей конкретной версии Android и архитектуре оборудования. В таблице пакетов shim в левой части экрана приведены ссылки для загрузки соответствующего пакета.
- Скопируйте загруженный пакет в
/system/apex. - Переименуйте файл в
com.android.apex.cts.shim.apex.
Если ваше устройство не поддерживает управление пакетами APEX:
- Загрузите пакеты APEX shim, соответствующие вашей конкретной версии 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).
Выполните следующие шаги, чтобы настроить ваше тестируемое устройство для работы с 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 на тестируемое устройство:
- Перейдите (
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, относящиеся к основной ветке:
Чтобы узнать уровень Android API на устройстве, выполните следующую команду:
adb shell getprop ro.build.version.sdkСледуйте инструкциям в скрипте
download_mcts.sh, чтобы загрузить файлы Mainline CTS.Загрузка занимает не менее 10 минут, в зависимости от скорости вашего интернет-соединения.
Пакеты прокладок
В таблице ниже перечислены пакеты, доступные для каждой версии и архитектуры устройства:
| Версия устройства | Пакеты (если поддерживается APEX) | Пакеты (если APEX не поддерживается) | ||
|---|---|---|---|---|
| РУКА | x86 | РУКА | x86 | |
| Android 16 QPR2 | 16-arm-release | android16-x86-release | android16-arm-CtsShim.apk | android16-x86-CtsShim.apk |
| Андроид 16 | 16-arm-release | android16-x86-release | android16-arm-CtsShim.apk | android16-x86-CtsShim.apk |
| Android 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 |
| Android 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 |
| Android 11 | android11-arm-release | android11-x86-release | android11-arm-CtsShim.apk | android11-x86-CtsShim.apk |
| Android 10 | android10-release | android10-arm-CtsShim.apk | android10-x86-CtsShim.apk | |
| Android 9, O и O-MR1 | Н/Д | Н/Д | arm-CtsShim.apk | x86-CtsShim.apk |
Что дальше?
После прочтения этого документа перейдите к выполнению автоматизированных тестов CTS .