Настройте автоматическое тестирование CTS

Прежде чем вы сможете выполнять автоматические тесты CTS, подготовьте физическую среду, настройте рабочую станцию ​​и настройте тестируемое устройство.

Настройка физической среды

Некоторые тесты CTS требуют использования внешних устройств, устанавливаемых рядом с тестируемым устройством. Чтобы настроить физическую среду:

  1. (дополнительно) Если ваше тестируемое устройство поддерживает Bluetooth LE, разместите как минимум три маяка Bluetooth LE в пределах 5 метров от тестируемого устройства для тестирования сканирования Bluetooth LE. Кроме того:

    • Маяки не нужно настраивать или излучать что-то конкретное.
    • Маяки могут быть любого типа, включая iBeacon, Eddystone или даже устройства, имитирующие маяки BLE.
  2. Поместите телефон перед объектом съемки, например стеной или потолком, на расстоянии, эквивалентном минимальному расстоянию фокусировки тестируемого устройства. Кроме того:

    • Сцена должна иметь достаточное освещение, чтобы тестируемые датчики могли достигать и сохранять максимальное настроенное целевое количество кадров в секунду (FPS), указанное в CONTROL_AE_TARGET_FPS_RANGE .
    • Эта настройка применяется ко всем датчикам камер, о которых сообщает getCameraIdList , поскольку тест проходит по перечисленным устройствам и измеряет производительность индивидуально.
    • Если тестируемое устройство поддерживает внешние камеры, например веб-камеры USB, подключите внешнюю камеру при запуске CTS. В противном случае тесты CTS не пройдут.
  3. (дополнительно) Если ваше ТУ поддерживает глобальную систему позиционирования (GPS) или другую глобальную навигационную спутниковую систему (GNSS), подайте на ТУ сигнал GNSS с подходящим уровнем сигнала для приема и расчета местоположения. Кроме того:

    • GPS должен соответствовать стандарту ICD-GPS-200C.
    • Сигнал ГНСС может быть любого типа, включая спутниковый имитатор или ретранслятор внешних сигналов.
    • Вы можете разместить ИУ рядом с окном, чтобы оно могло напрямую принимать достаточный сигнал GNSS со спутника.
  4. Убедитесь, что ваша сеть Wi-Fi поддерживает IPv4 и IPv6, имеет подключение к Интернету с DNS для IPv4 и IPv6, поддерживает многоадресную рассылку IP и может рассматривать DUT как изолированный клиент .

    Если у вас нет доступа к собственной сети IPv6, сети оператора связи IPv6 или VPN для прохождения тестов IPv6, используйте точку доступа Wi-Fi и туннель IPv6.

  5. Убедитесь, что на интерфейсе Wi-Fi тестируемого устройства установлены флаги UP , BROADCAST и MULTICAST .

  6. Убедитесь, что интерфейсу Wi-Fi назначены адреса IPv4 и IPv6. Чтобы проверить свойства интерфейса Wi-Fi, запустите adb shell ifconfig .

  7. (необязательно) Если ваше тестируемое устройство поддерживает параллелизм Wi-Fi STA или STA , настройте как минимум две сети Wi-Fi. Эти сети Wi-Fi должны работать на разных диапазонах с разными SSID или на одном и том же SSID с разными BSSID.

  8. (необязательно) Если ваше тестируемое устройство поддерживает время прохождения сигнала Wi-Fi (RTT) , настройте устройство, поддерживающее Wi-Fi RTT:

    1. Разместите устройство Wi-Fi RTT на расстоянии не более 40 футов от тестируемого устройства.
    2. Включите устройство 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:

  1. Установите пакет FFmpeg версии 5.1.3 или выше.

  2. Установите самые последние версии Android Debug Bridge (adb) и Android Asset Packaging Tool (AAPT2) и добавьте расположение этих инструментов в системный путь вашего компьютера:

    1. Следуйте инструкциям в начале документации SDK Manager , чтобы установить инструмент командной строки sdkmanager . Ссылка для загрузки инструментов командной строки находится в разделе «Только инструменты командной строки» внизу страницы загрузки Android Studio .
    2. Обновите системный путь, включив в него местоположение недавно установленного sdkmanager .
    3. Используя sdkmanager , установите последние версии platform-tools и пакетов build-tools . Эти пакеты содержат adb и AAPT2. Информацию об установке пакетов см. в разделе «Установка пакетов» .
    4. Обновите свой путь, указав расположение недавно установленных инструментов adb и AAPT2.
    5. Убедитесь, что adb и AAPT2 находятся на вашем пути.
  3. Установите подходящую версию Java Development Kit (JDK) :

  4. (необязательно) Для Android 13 или более поздней версии установите virtualenv . Инструмент virtualenv необходим для тестов на нескольких устройствах.

  5. Чтобы убедиться, что Python установлен, введите python3 . Должны появиться версия и дата Python, указывающие на то, что Python установлен правильно.

  6. Загрузите и откройте пакеты CTS из загрузок пакета тестирования совместимости , которые соответствуют версии Android ваших устройств и всем двоичным интерфейсам приложений (ABI), которые поддерживают ваши устройства.

  7. Загрузите и откройте последнюю версию медиафайлов CTS . Медиа-файлы включают видеоклипы из Big Buck Bunny , авторские права на которые принадлежат Blender Foundation по лицензии Creative Commons Attribution 3.0 .

  8. (необязательно) Когда вы запускаете CTS в первый раз, он динамически загружает некоторые файлы CTS, связанные с основной линией. В зависимости от скорости вашей сети эта загрузка увеличивает время работы CTS на 10 или более минут.

    Чтобы избежать этого дополнительного времени выполнения CTS, вы можете загрузить файлы CTS, связанные с основной линией, перед запуском CTS. Информацию о загрузке файлов CTS, связанных с Mainline, см. в разделе Загрузка файлов CTS, связанных с Mainline .

Подготовьте тестируемое устройство

После настройки настольного компьютера необходимо настроить и настроить DUT.

Настройка тестируемого устройства

Чтобы настроить DUT:

  1. Убедитесь, что на тестируемом устройстве используется образ системы, основанный на заведомо совместимой пользовательской сборке (Android 4.0 или более поздней версии) из кодовых имен, тегов и номеров сборок , и используется вариант user сборки. Дополнительные сведения о вариантах сборки см. в разделе Выбор цели .

  2. Если тестируемое устройство работает под управлением 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 или более ранней версии) .

  3. Если ваше устройство поддерживает управление пакетами APEX:

    1. Загрузите пакет прокладок APEX для вашей конкретной версии Android и аппаратной архитектуры. В двух левых столбцах таблицы пакетов прокладки содержатся ссылки на пакет для загрузки.
    2. Скопируйте загруженный пакет в /system/apex .
    3. Переименуйте файл в com.android.apex.cts.shim.apex .
  4. Если ваше устройство не поддерживает управление пакетами APEX:

    1. Загрузите пакеты прокладок APEX для вашей конкретной версии Android и аппаратной архитектуры. В двух правых столбцах таблицы пакетов оболочки содержатся ссылки на пакеты для загрузки.
    2. Скопируйте CtsShim.apk в /system/app/
    3. Переименуйте CtsShim.apk в CtsShimPrebuilt.apk
    4. Скопируйте CtsShimPriv.apk в /system/priv-app/
    5. Переименуйте CtsShimPriv.apk в CtsShimPrivPrebuilt.apk
  5. Если ваше устройство сообщает о более чем одном защищенном элементе:

    1. Загрузите google-cardlet.cap .
    2. Скопируйте загруженный файл в /data/uicc/cardlets/ .
  6. Если ваше устройство сообщает о более чем одном защищенном элементе, установите образец апплета во встроенный элемент безопасности (eSE) тестируемого устройства или на SIM-карту, используемую тестируемым устройством. Дополнительные сведения см. в разделе Тест CTS для Secure Element .

  7. Если на вашем устройстве нет встроенного экрана, подключите экран к устройству.

  8. Если в устройстве есть слот для карты памяти, вставьте пустую SD-карту. Используйте SD-карту, поддерживающую сверхвысокоскоростную (UHS) шину с емкостью SDHC или SDXC, или карту с классом скорости 10 или выше, чтобы гарантировать, что она может пройти CTS.

  9. Если в устройстве есть слоты для SIM-карт, вставьте активированную SIM-карту в каждый слот. Если устройство поддерживает SMS, для каждой SIM-карты должно быть заполнено собственное поле номера. Для устройств под управлением Android 12 или выше все SIM-карты должны иметь поддержку хранения номеров сокращенного набора (ADN). Карты GSM и USIM со специальным файлом для телекоммуникаций (DF Telecom ) удовлетворяют этому требованию.

  10. Убедитесь, что на вашем устройстве установлена ​​SIM-карта с привилегиями оператора CTS, соответствующая требованиям, указанным в разделе «Подготовка UICC» .

Настройка тестируемого устройства

Выполните следующие шаги, чтобы настроить тестируемое устройство для использования с CTS.

На ДУТ:

  1. Сбросьте настройки устройства до заводских настроек.

  2. Установите язык устройства на английский (США) .

  3. Если устройство поддерживает настройку шрифтов по умолчанию, убедитесь, что для семейства шрифтов без засечек по умолчанию установлено значение Roboto .

  4. Если на устройстве есть функция GPS, Wi-Fi или мобильной сети, включите настройку местоположения.

  5. Подключитесь к сети Wi-Fi, которая поддерживает IPv6, может рассматривать DUT как изолированный клиент и имеет подключение к Интернету. Подробные сведения об изолированных клиентах см. в разделе Настройка физической среды .

  6. Убедитесь, что не установлен шаблон блокировки или пароль.

  7. Включите отладку по USB:

    1. Перейдите в «Настройки» > «О телефоне» и нажмите «Номер сборки» семь раз. Параметры разработчика отображаются в категории «Системные настройки».

    2. Нажмите «Отладка по USB» .

    Чтобы включить отладку по USB на Android 10 или более ранней версии, см . раздел Настройка CTS (AOSP 10 или более ранней версии) .

  8. Установите время в 12-часовом формате.

  9. Включите «Параметры разработчика» > «Не спать» .

  10. Отключите проверку приложения USB:

    1. Перейдите к параметрам разработчика .

    2. Нажмите «Проверить приложения через USB» .

  11. В Android 13 или выше включите имитацию модема:

    1. Перейдите к параметрам разработчика .

    2. Нажмите «Разрешить имитацию модема» .

    Этот параметр необходим для определенных тестов телефонии.

На настольном компьютере:

  1. Запустите браузер и закройте все экраны запуска или настройки.

  2. Подключите проверяемое устройство к настольному компьютеру с помощью USB-кабеля.

  3. Если система предложит вам принять ключ RSA, разрешающий отладку через этот компьютер, нажмите «Разрешить отладку по USB» .

  4. Установите Roboto2 в качестве шрифта без засечек, используя доступную пользователю настройку (не скрытую).

  5. Скопируйте медиафайлы CTS в DUT:

    1. Перейдите ( cd ) к пути, по которому загружаются и распаковываются медиафайлы.
    2. Измените права доступа к файлу:

      chmod u+x copy_media.sh
      
    3. Скопируйте файлы:

      • Чтобы скопировать клипы до разрешения 720x480, запустите:

        ./copy_media.sh 720x480
      • Если вы не уверены в максимальном разрешении, скопируйте все файлы:

        ./copy_media.sh all
      • Если имеется несколько DUT, добавьте в конец последовательную опцию ( -s ) конкретного устройства. Например, чтобы скопировать размер до 720x480 на устройство с серийным номером 1234567, выполните:

        ./copy_media.sh 720x480 -s 1234567

Загрузите файлы CTS, связанные с основной линией

Чтобы загрузить файлы CTS, связанные с Mainline:

  1. Получите уровень Android API на устройстве, выполнив:

    adb shell getprop ro.build.version.sdk
    
  2. Следуйте инструкциям сценария download_mcts.sh , чтобы загрузить файлы Mainline CTS.

    Загрузка занимает не менее 10 минут, в зависимости от скорости вашей сети.

Пакеты прокладок

В следующей таблице перечислены пакеты, доступные для каждой версии и архитектуры устройства:

Версия устройства Пакеты (если поддерживается APEX) Пакеты (если APEX не поддерживается)
РУКА х86 РУКА х86
Андроид 15 15-arm-release android15-x86-release android15-arm-CtsShim.apk

android15-arm-CtsShimPriv.apk

android15-x86-CtsShim.apk

android15-x86-CtsShimPriv.apk

Андроид 14 android14-arm-release android14-x86-release android14-arm-CtsShim.apk

android14-arm-CtsShimPriv.apk

android14-x86-CtsShim.apk

android14-x86-CtsShimPriv.apk

Андроид 13 android13-arm-release android13-x86-release android13-arm-CtsShim.apk

android13-arm-CtsShimPriv.apk

android13-x86-CtsShim.apk

android13-x86-CtsShimPriv.apk

Андроид 12 android12-arm-release android12-x86-release android12-arm-CtsShim.apk

android12-arm-CtsShimPriv.apk

android12-x86-CtsShim.apk

android12-x86-CtsShimPriv.apk

Андроид 11 android11-arm-release android11-x86-release android11-arm-CtsShim.apk

android11-arm-CtsShimPriv.apk

android11-x86-CtsShim.apk

android11-x86-CtsShimPriv.apk

Андроид 10 android10-release android10-arm-CtsShim.apk

android10-arm-CtsShimPriv.apk

android10-x86-CtsShim.apk

android10-x86-CtsShimPriv.apk

Android 9, O и O-MR1 Н/Д Н/Д arm-CtsShim.apk

arm-CtsShimPriv.apk

x86-CtsShim.apk

x86-CtsShimPriv.apk

Что дальше?

Прочитав этот документ, продолжайте выполнять автоматические тесты CTS .