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

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

Настройте тестирование на нескольких устройствах на стороне хоста.

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

  1. Убедитесь, что ваш настольный компьютер соответствует системным требованиям CTS.
  2. Выполните шаги 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 .
  3. Подготовьте два одинаковых тестируемых устройства (DUT), на каждом из которых должна быть настроена система CTS-V.

  4. Перейдите в раздел настроек для вашего типа теста:

    Если вашего теста нет в этом списке, перейдите к разделу «Настройка стандартных тестов с двумя устройствами».

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

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

Для настройки тестов NFC:

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

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

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

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

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

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

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

  5. Подключите NFC-чип PN532 к вашей тестовой рабочей станции с помощью USB-кабеля.

Дополнительно: Настройте проверку подключения к точкам доступа Wi-Fi.

Тесты подключения точки доступа Wi-Fi ( CtsWifiConnectionTests ) проверяют связь между тестируемым устройством и точкой доступа. Мы настоятельно рекомендуем запустить эти тесты, но они не являются обязательными в CTS-V Android 16 16 QPR2.

Для проведения этих тестов требуется тестируемое устройство (DUT) и точка доступа OpenWrt Banana Pi R3.

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

  1. Приобретите и настройте точку доступа Banana Pi R3. Для получения дополнительной информации см. раздел «Настройка точки доступа Banana Pi BPI-R3» .

  2. Дополнительно: Если у вас нет защитного бокса, мы рекомендуем защитный бокс JTP-SR101. Приобретите этот бокс, используя следующую информацию:

    Dong Guan Zheng Sheng Electronics Technology Co., LTD
    Промышленный парк Бохуэй, улица Панлун, поселок Ляобу, город Дунгуань, провинция Гуандун, Китай.
    Контактное лицо: Форест Пан
    Электронная почта: forest.pan@jtpmak.cn
    Телефон (Китай): +86 18676993556

  3. Подключите тестируемое устройство (DUT) и точку доступа (AP) к хосту и поместите их в экранированный от радиочастот корпус. Расстояние между DUT и AP должно составлять не менее 10 см. На рисунке 2 показана следующая конфигурация:

    Тестируемое устройство и точка доступа в экранированном корпусе

    Рисунок 2. Исследуемое устройство (DUT) и точка доступа (AP) в экранированном корпусе.

  4. Используйте SSH для проверки доступности точки доступа с хоста.

Настройте стандартные тесты с использованием двух устройств.

Для стандартной конфигурации с двумя устройствами:

  1. Разместите два одинаковых тестируемых устройства Android на расстоянии примерно 20 см друг от друга.
  2. Для создания чистой среды поместите оба устройства в защитный бокс.

  3. Дополнительно: Настройте анализатор беспроводного соединения (OTA sniffer) для отладки Wi-Fi.

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

Поведение тестового случая test_permissions_sync() различается в зависимости от типа сборки устройств, на которых выполняется тест. Крайне важно, чтобы производители оборудования тестировали как отлаживаемые (userdebug или eng), так и неотлаживаемые (user) сборки, и чтобы тесты проходили успешно для обеих.

Освобождение от налогов

В соответствии с пунктом 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 на тестируемом устройстве нажмите «Тесты на стороне хоста» . На рисунке 3 показаны тесты на стороне хоста в приложении CTS Verifier:

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

    Рисунок 3. Тестирование нескольких устройств на стороне хоста в приложении 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. Тесты, отмеченные зеленым цветом, пройдены успешно. Тесты, отмеченные красным, не пройдены. На рисунке 4 показаны примеры результатов тестов CtsCompanionDeviceManager:

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

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

Дополнительно: выполните проверку подключения к точке доступа Wi-Fi.

Выполните следующие действия, чтобы проверить подключение к точке доступа Wi-Fi:

  1. Отредактируйте файл конфигурации тестовой среды ( WifiConnectionTestbed.yaml ). Этот файл находится в каталоге, куда распакован CTS-Verifier:

    ./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yaml
    
  2. Измените значение поля 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
    
  3. В консоли cts-v-host выполните следующую команду:

    run everything -m CtsWifiConnectionTests
    

Устранение неполадок при тестировании нескольких устройств

В этом разделе представлена ​​помощь в устранении возможных неполадок.

Исправлена ​​ошибка, из-за которой при тестировании NFC не получался ответ на запрос GetFirmwareVersion.

Если при выполнении тестов на нескольких устройствах вы получаете сообщение verify_firmware_version RuntimeError: No response for GetFirmwareVersion , это означает, что тесты не могут получить доступ к плате PN532 NFC.

Для решения этой проблемы определите путь к последовательному порту, используемый платой PN532 NFC на вашем компьютере, например, 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 игнорируется.

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