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

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

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

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

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

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

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

    • GPS должен соответствовать стандарту ICD-GPS-200C.
    • Сигнал GNSS может быть любого типа, включая спутниковый имитатор или ретранслятор наружных сигналов.
    • Вы можете разместить тестируемое устройство близко к окну, чтобы оно могло напрямую принимать достаточный уровень сигнала 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. (необязательно) Если ваш DUT поддерживает Wi-Fi STA или STA concurrency , настройте как минимум две сети Wi-Fi. Эти сети Wi-Fi должны работать на разных диапазонах с разными SSID или на одном SSID с разными BSSID.

  8. (необязательно) Если ваше DUT поддерживает время приема-передачи 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 мог правильно определить путь.

Установить программное обеспечение для рабочего стола

Чтобы установить соответствующее программное обеспечение для настольного компьютера для 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 и 14 установите virtualenv . Инструмент virtualenv требуется для многоустройственных тестов.

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

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

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

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

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

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

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

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

Для настройки проверяемого устройства:

  1. Убедитесь, что DUT использует системный образ на основе известной совместимой пользовательской сборки (Android 4.0 или выше) из Codenames, Tags, and Build Numbers и использует вариант user сборки. Подробнее о вариантах сборки см. в разделе Choose a target .

  2. Если 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 или ниже) .

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

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

    1. Загрузите пакеты shim APEX для вашей конкретной версии Android и аппаратной архитектуры. Правые два столбца в таблице пакетов shim предоставляют ссылки на пакеты для загрузки.
    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) DUT или на SIM-карту, используемую DUT. Для получения дополнительной информации см. Тест CTS для защищенного элемента .

  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 .

Настройте DUT

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

На проверяемом устройстве:

  1. Выполните сброс настроек устройства до заводских.

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

  3. Если устройство поддерживает настройку шрифтов по умолчанию, убедитесь, что в качестве семейства шрифтов sans-serif по умолчанию установлено значение 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. Получите уровень API Android на устройстве, выполнив:

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

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

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

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

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

android16-arm-CtsShimPriv.apk

android16-x86-CtsShim.apk

android16-x86-CtsShimPriv.apk

Андроид 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 .