Запустите тесты NFC на нескольких устройствах

В этом документе объясняется, как запускать тесты 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 ) на DUT:

    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) во время выполнения, выполните следующую команду, чтобы переименовать файл 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"