マルチデバイス NFC テストを実行する

このドキュメントではマルチデバイス NFC テストの実行方法について説明します。

前提条件を満たす

マルチデバイス NFC テストを実行する前に、以下を行います。

  1. 自分の Android 15 実装を搭載したデバイスを用意します。
  2. CTS-V の要件を満たします。
  3. 手順に沿って CTS-V をセットアップします。

DUT とテスト用の PN532 NFC リーダーを準備する

前の手順が終わったら、以下の手順に沿って DUT とテスト用の PN532 NFC リーダーを準備します。

  1. USB 経由で DUT をホストマシンに接続します。
  2. ホストに ADB 経由で DUT にアクセスするための権限を付与します。
  3. 次のコマンドを実行して、CTS 検証ツールアプリ(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. NFC テストに必要な APK をインストールします。

    cd MultiDevice
    
    adb install -r -g NfcEmulatorTestApp.apk
    

NFC をこの DUT 用にセットアップする

以下の手順に沿って NFC をこの DUT 用にセットアップします。

  1. DUT で [設定] メニューを開きます。
  2. [NFC] または [接続済みのデバイス] のセクションを探します。
  3. [NFC] の切り替えスイッチがオンになっていることを確認します。
  4. NFC チップをスマートフォンの NFC リーダーの上に配置します。

    1. PN532 NFC チップを確保します。All-In-One PN532、非 BLE オプションが推奨です。
    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 のデバイス シリアル ID と PN532 NFC リーダーを設定して、テストベッドをセットアップします。

    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"