Запуск многоустройственных тестов CTS Verifier

На этой странице содержатся инструкции по использованию многоустройственных тестов CTS Verifier (CTS-V) для Android 16 и выше.

Настройка многоустройственных тестов на стороне хоста

В этом разделе объясняется, как настроить многоустройственные тесты.

  1. Убедитесь, что ваш настольный компьютер соответствует требованиям операционной системы для CTS.
  2. Выполните шаги 2 и 5 из раздела Установка программного обеспечения рабочего стола, чтобы убедиться, что adb, AAPT2 и Python правильно установлены на вашем рабочем столе.
  3. Подготовьте два согласующих устройства для испытаний (DUT), каждое с настройкой CTS-V.

  4. Если вы тестируете модуль, отличный от NFC, следуйте инструкциям в разделе Настройка стандартных тестов для двух устройств .

  5. Если вы тестируете модуль CDM, в дополнение к стандартной настройке двух устройств следуйте инструкциям из раздела Настройка тестов CDM .

Настройка стандартных тестов с двумя устройствами

Для настройки двух устройств по умолчанию:

  1. Разместите два одинаковых устройства Android DUT на расстоянии примерно 20 см друг от друга.
  2. Чтобы обеспечить чистоту окружающей среды, поместите оба устройства в защитный короб.

  3. (необязательно) Настройте OTA-сниффер для отладки Wi-Fi.

Настройка тестов NFC

Для тестирования NFC используется одно проверяемое устройство и чип NFC PN532.

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

  1. Приобретите NFC-чип PN532. Мы рекомендуем модель All-In-One PN532 .
  2. На проверяемом устройстве перейдите в приложение «Настройки» .

  3. Включить NFC .

  4. Расположите чип NFC:

    • Для телефонов расположите считыватель NFC тестируемого устройства, как показано на рисунке 1:

      Позиционирование NFC-чипа

      Рисунок 1. Расположение чипа NFC.

    • Для других типов устройств расположите чип рядом с антенной NFC устройства.

  5. Подключите 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 реализована поддержка многоустройственных тестов на стороне хоста. Эти тесты можно выполнять с помощью автоматизированных скриптов на хосте вместо ручного тестирования на устройстве. После завершения каждого теста результаты автоматически загружаются в тестируемое устройство и отображаются в приложении CTS Verifier.

В этом разделе объясняется, как проводить многоустройственные тесты на стороне хоста.

Запуск многоустройствовых тестов

Чтобы запустить тест нескольких устройств:

  1. На тестовой рабочей станции запустите консоль cts-v-host из каталога, в который был распакован zip-архив CTS-V:

    ./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
    
  2. В приложении CTS Verifier на проверяемом устройстве нажмите «Тесты на стороне хоста» . На рисунке 2 показаны тесты на стороне хоста в приложении CTS Verifier:

    Тесты нескольких устройств на стороне хоста в приложении CTS Verifier

    Рисунок 2. Тесты нескольких устройств на стороне хоста в приложении CTS Verifier.

    Отобразится список тестовых модулей для нескольких устройств на стороне тестового хоста.

  3. Укажите имя тестового модуля, который вы хотите запустить. Например, модуль CompanionDeviceManager указан как CtsCompanionDeviceManagerMultiDeviceTestCases .

  4. В консоли cts-v-host выполните следующую команду:

    run cts-v-host -m test_module_name
    

    Например:

    run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
    

    После завершения тестирования в консоли xTS результаты отображаются в приложении CTS Verifier. Тесты, отмеченные зелёным, пройдены. Тесты, отмеченные красным, не пройдены. На рисунке 3 показан пример результатов тестирования CtsCompanionDeviceManager:

    Результаты многоустройственного тестирования на стороне хоста в приложении CTS Verifier

    Рисунок 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, возможно, выбрано неправильное проверяемое устройство. Подробнее см. в разделе «Настройка тестов NFC» .

Чтобы устранить эту проблему, выполните одно из следующих действий:

  • Установите правильный серийный номер DUT в тестовой команде на стороне хоста, используя флаг -s .

  • Отключите от хоста все устройства, не являющиеся проверяемыми.

Тестовый случай CDM test_permissions_sync игнорируется

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