На этой странице содержатся инструкции по использованию многоустройственных тестов CTS Verifier (CTS-V) для Android 16 и выше.
Настройка многоустройственных тестов на стороне хоста
В этом разделе объясняется, как настроить многоустройственные тесты.
- Убедитесь, что ваш настольный компьютер соответствует требованиям операционной системы для CTS.
- Выполните шаги 2 и 5 из раздела Установка программного обеспечения для рабочего стола, чтобы убедиться, что adb, AAPT2 и Python правильно установлены на вашем рабочем столе.
Подготовьте два тестируемых согласующих устройства (DUT), каждое с настройкой CTS-V.
- Информацию о настройке DUT см. в разделе Настройка DUT .
- Инструкции по настройке CTS-V см. в разделе Настройка .
Если вы тестируете модуль, отличный от NFC, следуйте инструкциям в разделе Настройка стандартных тестов двух устройств .
- Для тестов NFC следуйте инструкциям в разделе Настройка тестов NFC .
Если вы тестируете модуль CDM, следуйте инструкциям раздела Настройка тестов CDM в дополнение к стандартной настройке двух устройств.
Настройка стандартных тестов с двумя устройствами
Для настройки двух устройств по умолчанию:
- Разместите два одинаковых Android-тестируемых устройства на расстоянии примерно 20 см друг от друга.
Чтобы обеспечить чистоту окружающей среды, поместите оба устройства в защитный короб.
(необязательно) Настройте OTA-сниффер для отладки Wi-Fi.
Настройка тестов NFC
В тестах NFC используется одно тестируемое устройство и чип NFC PN532.
Чтобы настроить тесты NFC:
- Купите чип NFC PN532. Мы рекомендуем All-In-One PN532 .
На проверяемом устройстве перейдите в приложение «Настройки» .
Включить NFC .
Расположите чип NFC:
Для телефонов расположите считыватель NFC тестируемого устройства, как показано на рисунке 1:
Рисунок 1. Расположение чипа NFC.
Для других типов устройств расположите чип рядом с антенной NFC устройства.
Подключите чип NFC PN532 к вашей тестовой рабочей станции с помощью USB-кабеля.
Настройка тестов 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 представляет поддержку многоустройственных тестов на стороне хоста. Эти тесты могут быть выполнены с использованием автоматизированных скриптов на хосте вместо ручной операции тестирования на устройстве. После завершения каждого теста результаты автоматически загружаются в DUT и отображаются в приложении CTS Verifier.
В этом разделе объясняется, как запустить многоустройственные тесты на стороне хоста.
Запуск многоустройственных тестов
Чтобы запустить многоустройственный тест:
На тестовой рабочей станции запустите консоль
cts-v-host
из каталога, куда был распакован zip-пакет CTS-V:./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
В приложении CTS Verifier на DUT нажмите Host-side Tests . На рисунке 2 показаны тесты на стороне хоста в приложении CTS Verifier:
Рисунок 2. Тесты нескольких устройств на стороне хоста в приложении CTS Verifier.
Отображается список тестовых модулей многоустройств на стороне хоста.
Определите имя тестового модуля, который вы хотите запустить. Например, модуль CompanionDeviceManager указан как CtsCompanionDeviceManagerMultiDeviceTestCases .
В консоли cts-v-host выполните следующую команду: Примечание: если вы нажмете на модуль на стороне хоста в приложении CTS Verifier, вы не увидите список отдельных тестовых случаев. Вместо этого пользовательский интерфейс автоматически заполнится результатами тестового случая после того, как модуль будет выполнен на хосте.
В консоли xTS выполните следующую команду:
run cts-v-host -m test_module_name
Например:
run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
После того, как консоль xTS завершит выполнение тестов, результаты появятся в приложении CTS Verifier. Тесты, отмеченные зеленым, пройдены. Тесты, отмеченные красным, не пройдены. На рисунке 3 показаны примеры результатов для тестов CtsCompanionDeviceManager:
Рисунок 3. Результаты многоустройственного тестирования на стороне хоста в приложении CTS Verifier.
Устранение неполадок при тестировании нескольких устройств
В этом разделе содержится информация по устранению возможных неполадок.
Исправление ошибки «Отсутствие ответа 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, размещенного сверху, возможно, был выбран неправильный DUT. Для получения дополнительной информации см. Настройка тестов NFC .
Чтобы устранить эту проблему, выполните одно из следующих действий:
Установите правильный серийный номер DUT в тестовой команде на стороне хоста, используя флаг
-s
.Отключите от хоста все устройства, не являющиеся тестируемыми устройствами.
Тестовый случай CDM test_permissions_sync
игнорируется
Если тест выполняется на неотлаживаемых устройствах, проверьте, не освобождены ли вы. В противном случае убедитесь, что оба устройства соответствуют предварительным условиям .