멀티 디바이스 NFC 테스트 실행

이 문서에서는 멀티 디바이스 NFC 테스트 실행 방법을 설명합니다.

기본 요건 충족

멀티 디바이스 NFC 테스트를 실행하기 전에 다음 단계를 따르세요.

  1. Android 15 구현이 적용된 기기를 준비합니다.
  2. CTS-V 요구사항을 따릅니다.
  3. CTS-V 설정을 따릅니다.

테스트용 DUT와 PN532 NFC 리더 준비

이전 단계를 완료한 후에는 다음 단계를 따라 DUT와 PN532 NFC 리더를 테스트를 위해 준비합니다.

  1. DUT를 USB를 통해 호스트 머신에 연결합니다.
  2. 호스트에서 ADB를 통해 DUT에 액세스하도록 권한을 부여합니다.
  3. DUT에 CTS 인증 도구 앱(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. NFC 테스트에 필요한 APK를 설치합니다.

    cd MultiDevice
    
    adb install -r -g NfcEmulatorTestApp.apk
    

DUT의 NFC 설정

다음 단계를 따라 DUT의 NFC를 설정하세요.

  1. DUT에서 설정 메뉴로 이동합니다.
  2. NFC 또는 연결된 기기 섹션을 찾습니다.
  3. NFC 전환 스위치가 켜져 있는지 확인합니다.
  4. NFC 칩을 휴대전화의 NFC 리더 위에 놓습니다.

    1. PN532 NFC 칩을 획득합니다. BLE가 아닌 All-In-One PN532 옵션이 권장됩니다.
    2. USB 케이블을 사용하여 PN532 NFC 칩을 Linux 호스트에 연결합니다.
    3. PN532 NFC 칩을 휴대전화의 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. MultiDevice/config.yml에서 DUT와 PN532 NFC 리더의 기기 일련번호 ID를 설정하여 테스트베드를 설정합니다.

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

NFC 테스트 실행

NFC 테스트를 실행하려면 다음 단계를 따르세요.

  1. CTS-V 앱을 열고 NFC Tests를 탭합니다.

    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`"
    

    각각의 의미는 다음과 같습니다.

    • TestCaseATestCaseB는 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"