На этой странице содержатся инструкции по использованию тестов Better Together CTS Verifier (CTS-V) для Android 16 QPR2 или выше.
Настройка многоустройственных тестов на стороне хоста
В этом разделе объясняется, как настроить многоустройственные тесты.
- Убедитесь, что ваш настольный компьютер соответствует требованиям операционной системы для CTS.
Выполните шаги 2 и 5 из раздела Установка программного обеспечения для рабочего стола , чтобы установить и проверить, что adb, AAPT2 и Python правильно установлены на вашем рабочем столе.
- Ваша версия Python должна быть 3.11 или выше. Чтобы определить версию Python, выполните
python3 --version. Если версия ниже 3.11, установите последнюю официальную версию Python. Дополнительную информацию см. в разделе «Загрузки» на сайтеpython.org. - Для некоторых тестов требуется наличие на хосте модуля Python
venv. В системах Debian и Ubuntu этот модуль может быть не установлен по умолчанию. Чтобы определить, есть ли в вашей версии Python модульvenv, выполните командуpython3 -m venv venv. Если эта команда не выполняется, выводится сообщение об ошибке. Следуйте инструкциям, чтобы установить пакетpython3.x-venv.
- Ваша версия Python должна быть 3.11 или выше. Чтобы определить версию Python, выполните
Подготовьте два согласующих устройства для испытаний (DUT), каждое с настройкой CTS-V.
- Информацию о настройке DUT см. в разделе Настройка DUT .
- Инструкции по настройке CTS-V см. в разделе Настройка .
Перейдите в раздел настроек для вашего типа теста:
- Для тестов NFC перейдите в раздел Настройка тестов NFC .
- Для проверки подключения к точке доступа Wi-Fi перейдите в раздел Настройка проверки подключения к точке доступа Wi-Fi .
- Чтобы протестировать модуль CDM, перейдите в раздел Настройка стандартных тестов с двумя устройствами , а затем перейдите в раздел Настройка тестов CDM .
Если вашего теста нет в этом списке, перейдите к настройке стандартных тестов с двумя устройствами.
Настройка тестов NFC
В тестах NFC используется одно проверяемое устройство и один чип NFC PN532.
Чтобы настроить тесты NFC:
- Приобретите NFC-чип PN532. Мы рекомендуем модель All-In-One PN532 .
На проверяемом устройстве перейдите в приложение «Настройки» .
Включить NFC .
Расположите чип NFC:
Для телефонов расположите считыватель NFC тестируемого устройства, как показано на рисунке 1:

Рисунок 1. Расположение чипа NFC.
Для других типов устройств расположите чип рядом с антенной NFC устройства.
Подключите NFC-чип PN532 к тестовой рабочей станции с помощью USB-кабеля.
Дополнительно: настройте тесты подключения к точке доступа Wi-Fi.
Тесты подключения к точке доступа Wi-Fi ( CtsWifiConnectionTests ) проверяют соединение между тестируемым устройством и точкой доступа. Мы настоятельно рекомендуем выполнить эти тесты, но они не являются обязательными в CTS-V Android 16 16 QPR2.
Для проведения этих тестов требуются DUT и точка доступа OpenWrt Banana Pi R3.
Чтобы настроить тесты подключения точки доступа Wi-Fi:
Приобретите точку доступа Banana Pi R3 и аксессуары, перечисленные в этой таблице:
Элемент Количество Плата BPi-R3, аналогичная плате маршрутизатора Banana Pi BPI-R3 с чипом MediaTek MT7986, поддерживает Wi-Fi 6, 2 ГБ оперативной памяти DDR и 8 ГБ встроенной флэш-памяти eMMC. 1 Алюминиевый корпус BPi-R3, аналогичный железному корпусу BPI-R3 1 Алюминиевый радиатор BPi-R3 (охлаждающий вентилятор), аналогичный алюминиевому радиатору BPI-R3 с вентилятором 1 Антенна 2 и 5 ГГц с кабелем, аналогичная антенне 5ДБ в магазине BPI 8 Адаптер питания, аналогичный блоку питания постоянного тока 12 В/2 А 1 Чтобы совершить покупку, ознакомьтесь с разделом «Просто купить» на странице Banana Pi BPI-R3.
Настройте точку доступа. Информацию о настройке точки доступа см. в разделе «Настройка точки доступа Banana Pi BPI-R3» .
Дополнительно: если у вас нет защитного кожуха, рекомендуем использовать кожух JTP-SR101. Чтобы приобрести этот кожух, воспользуйтесь следующей информацией:
Dong Guan Zheng Sheng Electronics Technology Co., LTD
Промышленный парк Бохуэй, улица Паньлун, город Ляобу, город Дунгуань, провинция Гуандун, Китай
Контакт: Форест Пан
Электронная почта: forest.pan@jtpmak.cn
Телефон (Китай): +86 18676993556Подключите тестируемое устройство и точку доступа к хосту и поместите их в защитный экран от радиочастот. Расстояние между тестируемым устройством и точкой доступа должно быть не менее 10 см. Эта конфигурация показана на рисунке 2:

Рисунок 2. DUT и AP в экранированной коробке.
Используйте SSH для проверки доступности точки доступа с хоста.
Настройка стандартных тестов с двумя устройствами
Для настройки двух устройств по умолчанию:
- Разместите два одинаковых устройства Android DUT на расстоянии примерно 20 см друг от друга.
Чтобы создать чистую среду, поместите оба устройства в защитный короб.
Дополнительно: настройте OTA-сниффер для отладки Wi-Fi.
Настройка тестов CDM
Тестовый случай test_permissions_sync() имеет разное поведение в зависимости от типа сборки устройств, на которых он выполняется. Крайне важно, чтобы как отладочные (userdebug или eng), так и неотладочные (user) сборки были протестированы OEM-производителями, и чтобы тесты были пройдены для обеих сборок.
Освобождение
Пункт CDD для реализации API синхронизации разрешений требует только возможности успешной передачи данных между устройствами по защищённому каналу. Поскольку реализация защищённого канала не является обязательным требованием CDD, этот тест можно пропустить в сборках без отладки (пользовательских), но только если вы хотите отказаться от поддержки функции синхронизации разрешений CDM.
Тесты должны проходить на отлаживаемых сборках без исключений.
Предпосылки для тестирования на неотлаживаемых сборках
Если на вас не распространяются предыдущие положения об освобождении, убедитесь, что вы соответствуете следующим предварительным условиям.
Защищённый канал использует AVF ( AttestationVerificationFramework ) для проверки надёжности оборудования. Подтверждения, генерируемые обеими сторонами, содержат ряд данных о них, чтобы гарантировать отсутствие несанкционированных изменений в их системе. В процессе проверки AVF проверяет следующие состояния:
- Устройство имеет доступ к Интернету
- Устройство использует проверенную загрузку, а сборка должна быть подписана ключом выпуска, а не ключом разработчика.
- Устройство заблокировано загрузчиком. Подробные инструкции см. в разделе «Блокировка загрузчика».
- Уровни ОС, загрузки ключа и исправлений поставщика ключа должны быть в течение 12 месяцев. Не используйте сборку старше года.
Аттестация устройства подтверждается одним из корневых сертификатов, одобренных поставщиком. Укажите доверенные корневые сертификаты в файле
vendor_required_attestation_certificates.xml.
Запуск многоустройственных тестов на стороне хоста (AOSP 16 или более поздняя версия)
В CTS Verifier 16 реализована поддержка многоустройственных тестов на стороне хоста. Эти тесты можно выполнять с помощью автоматизированных скриптов на хосте вместо ручного тестирования на устройстве. После завершения каждого теста результаты автоматически загружаются в тестируемое устройство и отображаются в приложении CTS Verifier.
В этом разделе объясняется, как проводить многоустройственные тесты на стороне хоста.
Запуск многоустройствовых тестов
Чтобы запустить тест нескольких устройств:
На тестовой рабочей станции запустите консоль
cts-v-hostиз каталога, в который был распакован zip-архив CTS-V:./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefedВ приложении CTS Verifier на проверяемом устройстве нажмите «Тесты на стороне хоста» . На рисунке 3 показаны тесты на стороне хоста в приложении CTS Verifier:

Рисунок 3. Тесты нескольких устройств на стороне хоста в приложении CTS Verifier.
Отобразится список тестовых модулей для нескольких устройств на стороне тестового хоста.
Укажите имя тестового модуля, который вы хотите запустить. Например, модуль CompanionDeviceManager указан как CtsCompanionDeviceManagerMultiDeviceTestCases .
В консоли cts-v-host выполните следующую команду:
run cts-v-host -m test_module_nameНапример:
run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCasesПосле завершения тестов в консоли xTS результаты отображаются в приложении CTS Verifier. Тесты, отмеченные зелёным, пройдены. Тесты, отмеченные красным, не пройдены. На рисунке 4 показан пример результатов тестов CtsCompanionDeviceManager:

Рисунок 4. Результаты многоустройственного тестирования на стороне хоста в приложении CTS Verifier.
Дополнительно: запустите тесты подключения к точке доступа Wi-Fi.
Для запуска тестов соединения точки доступа Wi-Fi выполните следующие действия:
Отредактируйте файл конфигурации тестового стенда (
WifiConnectionTestbed.yaml). Этот файл находится в каталоге, куда распакован CTS-Verifier:./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yamlИзмените значение поля
hostnameна IP-адрес точки доступа, соответствующий вашим локальным настройкам SSH. Чтобы определить IP-адрес, см. статью «Определение IP-адреса точки доступа» .В следующем примере показано расположение поля
hostnameв файлеWifiConnectionTestbed.yaml:TestBeds: - Name: WifiConnectionTestbed Controllers: # Specify settings for the AP. OpenWrtDevice: - hostname: AP-IP skip_init_reboot: TrueВ консоли cts-v-host выполните следующую команду:
run everything -m CtsWifiConnectionTests
Устранение неполадок при тестировании нескольких устройств
В этом разделе содержится информация по устранению возможных неполадок.
Исправлена ошибка отсутствия ответа GetFirmwareVersion во время тестов NFC.
Если при выполнении тестов нескольких устройств вы получаете сообщение verify_firmware_version RuntimeError: No response for GetFirmwareVersion , это значит, что тесты не могут получить доступ к плате NFC PN532.
Чтобы устранить эту проблему, определите последовательный путь, используемый платой NFC PN532 на вашем хосте, например dev/ttyUSB1 , а затем вручную укажите его с помощью аргумента --module-arg в консоли:
run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1
Исправлено сообщение об ошибке «Транзакция не удалась» во время тестирования NFC.
Если вы получили сообщение Transaction failed, check device logs for more information. Во всех случаях тестирования NFC это, скорее всего, связано с тем, что чип NFC проверяемого устройства не может обнаружить PN532.
Если к хосту подключено несколько устройств, и на некоторых из них не установлен модуль PN532, возможно, выбрано неправильное проверяемое устройство. Подробнее см. в разделе «Настройка тестов NFC» .
Чтобы устранить эту проблему, выполните одно из следующих действий:
Установите правильный серийный номер DUT в тестовой команде на стороне хоста, используя флаг
-s.Отключите от хоста все устройства, не являющиеся проверяемыми.
Тестовый случай CDM test_permissions_sync игнорируется
Если тест проводится на устройствах, не подлежащих отладке, проверьте, есть ли у вас исключение . В противном случае убедитесь, что оба устройства соответствуют предварительным требованиям .