В этом документе объясняется, как проводить тесты NFC на нескольких устройствах.
Соответствовать предварительным условиям
Перед запуском тестов NFC на нескольких устройствах выполните следующие действия:
- Подготовьте устройство с реализацией Android 15.
- Соблюдайте требования CTS-V.
- Следуйте настройке CTS-V.
Подготовьте проверяемое устройство и считыватель NFC PN532 для теста.
После завершения предыдущих шагов выполните следующие действия, чтобы подготовить проверяемое устройство и считыватель NFC PN532 для теста:
- Подключите проверяемое устройство к хост-компьютеру через USB.
- Предоставьте хосту разрешения на доступ к DUT через ADB.
Установите приложение 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Установите необходимые APK-файлы для теста NFC:
cd MultiDevice adb install -r -g NfcEmulatorTestApp.apk
Настройте NFC для тестируемого устройства
Выполните следующие действия, чтобы настроить NFC для проверяемого устройства:
- На проверяемом устройстве перейдите в меню «Настройки» .
- Найдите раздел NFC или Подключенные устройства .
- Убедитесь, что переключатель NFC включен.
Поместите NFC-чип на NFC-считыватель телефона:
- Приобретите NFC-чип PN532. Мы рекомендуем вариант «Всё в одном» PN532 без BLE.
- Подключите NFC-чип PN532 к хосту Linux с помощью USB-кабеля.
- Поместите NFC-чип PN532 над NFC-считывателем телефона, как показано на следующем изображении:

Рисунок 1. Размещение чипа NFC.
Настройте тестовую среду
Выполните следующие шаги для настройки тестовой среды:
Выполните эти команды для настройки тестовой среды:
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Настройте испытательный стенд, указав серийные идентификаторы устройства 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:
Откройте приложение CTS-V и нажмите «Тесты NFC» :

Рисунок 2. Приложение CTS-V.
Появится информационное окно со списком тестовых случаев:

Рисунок 3. Тестовые примеры приложения CTS-V.
Запустите тесты на своем хосте:
MultiDevice$ python3 tools/run_all_tests.pyПосле завершения тестов результаты обновляются в приложении CTS-V. Успешные тесты отмечены зелёным цветом:

Рисунок 4. Результаты теста CTS-V.
Если вы видите какие-либо сбои, отмеченные красным, используйте следующую команду для повторного запуска неудачных тестов:
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"-