Запуск тестов NFC на нескольких устройствах (Android 15)

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

Соответствовать предварительным требованиям

Перед запуском тестов NFC на нескольких устройствах выполните следующие действия:

  1. Подготовьте устройство с установленной на нем Android 15.
  2. Соблюдайте требования CTS-V.
  3. Следуйте инструкциям по настройке CTS-V.

Подготовьте тестируемое устройство и NFC-считыватель PN532 для проведения теста.

После выполнения предыдущих шагов выполните следующие действия для подготовки тестируемого устройства и NFC-считывателя PN532 к тестированию:

  1. Подключите тестируемое устройство к компьютеру через USB.
  2. Предоставьте хосту права доступа к тестируемому устройству через ADB.
  3. Установите приложение CTS Verifier ( CtsVerifier.apk ) на тестируемое устройство:

    extract root/out/host/linux-x86/cts-verifier/android-cts-verifier.zip
    
    cd android-cts-verifier
    
    adb install -r -g CtsVerifier.apk
    
  4. Установите необходимые APK-файлы для тестирования NFC:

    cd MultiDevice
    
    adb install -r -g NfcEmulatorTestApp.apk
    

Настройте NFC для тестируемого устройства.

Выполните следующие шаги для настройки NFC на тестируемом устройстве:

  1. На тестируемом устройстве перейдите в меню «Настройки» .
  2. Найдите раздел NFC или «Подключенные устройства» .
  3. Убедитесь, что переключатель NFC включен.
  4. Разместите NFC-чип на NFC-считывателе телефона:

    1. Приобретите NFC-чип PN532. Мы рекомендуем универсальный чип PN532 без поддержки BLE.
    2. Подключите NFC-чип PN532 к хосту Linux с помощью USB-кабеля.
    3. Поместите NFC-чип PN532 на NFC-считыватель телефона, как показано на следующем изображении:

    размещение NFC-чипа

    Рисунок 1. Размещение NFC-чипа.

Настройте тестовую среду.

Для настройки тестовой среды выполните следующие действия:

  1. Выполните следующие команды для настройки тестовой среды:

    cd MultiDevice
    
    source build/envsetup.sh
    

    Эта команда проверяет Python и устанавливает переменную среды PYTHONPATH . Если в терминале не выводится никаких ошибок, среда готова к запуску тестов на нескольких устройствах.

    Если во время выполнения вы видите сообщение об ошибке libtinfo.so.6: no version information available (required by /bin/sh) at runtime, выполните следующую команду, чтобы переименовать файл libtinfo.so.6 :

    mv $ENV_DIRECTORY/lib/libtinfo.so.6 $ENV_DIRECTORY/lib/libtinfo.so.6.bak
    
  2. Настройте тестовый стенд, указав серийные идентификаторы тестируемого устройства и NFC-считывателя PN532 в MultiDevice/config.yml :

    TestBeds:
      - Name: CtsNfcHceMultiDeviceTestCases-py-ctsv
        Controllers:
          AndroidDevice:
            - serial: "<device-id>"
        TestParams:
          pn532_serial_path: "<pn532-serial-path>"
    

Проведите тесты NFC

Для запуска тестов NFC:

  1. Откройте приложение CTS-V и нажмите «Тесты NFC» :

    Приложение CTS-V

    Рисунок 2. Приложение CTS-V.

    Появляется информационное окно со списком тестовых случаев:

    Тестовые примеры приложения CTS-V

    Рисунок 3. Тестовые примеры приложения CTS-V.

  2. Запустите тесты на вашем хосте:

    MultiDevice$ python3 tools/run_all_tests.py
    

    После завершения тестов результаты обновляются в приложении CTS-V. Успешно пройденные тесты отмечены зеленым цветом:

    Результаты теста CTS-V

    Рисунок 4. Результаты испытаний CTS-V.

  3. Если вы видите ошибки, отмеченные красным цветом, используйте следующую команду для повторного запуска неудачных тестов:

    python3 tools/run_all_tests.py --test_cases "`TestCaseA`" "`TestCaseB`" --test_files "`TestFileA`"
    

    Где:

    • TestCaseA и TestCaseB — это названия тестовых случаев, отображаемые в CTS-V.
    • TestFileA — это файл с тестовыми примерами.

    Например:

    python3 tools/run_all_tests.py --test_cases "test_conflicting_non_payment" "test_conflicting_non_payment_prefix" --test_files "CtsNfcHceMultiDeviceTestCases-py-ctsv"