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

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

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

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

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

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

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

  1. Подключите тестируемое устройство к хост-компьютеру через USB.
  2. Предоставьте хосту разрешения на доступ к DUT через 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. Мы рекомендуем вариант All-In-One 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) , выполните следующую команду, чтобы переименовать файл libtinfo.so.6 :

    mv $ENV_DIRECTORY/lib/libtinfo.so.6 $ENV_DIRECTORY/lib/libtinfo.so.6.bak
    
  2. Настройте испытательный стенд, указав серийные идентификаторы устройств DUT и считывателя 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"