NFC-Tests für mehrere Geräte ausführen

In diesem Dokument wird beschrieben, wie NFC-Tests mit mehreren Geräten ausgeführt werden.

Voraussetzungen erfüllen

Führen Sie die folgenden Schritte aus, bevor Sie NFC-Tests mit mehreren Geräten ausführen:

  1. Bereiten Sie ein Gerät mit Ihrer Android 15-Implementierung vor.
  2. Beachten Sie die Anforderungen an CTS-V.
  3. Folgen Sie der Einrichtungsanleitung für CTS-V.

DUT und PN532-NFC-Lesegerät für den Test vorbereiten

Führen Sie nach Abschluss der vorherigen Schritte die folgenden Schritte aus, um einen DUT und einen PN532-NFC-Leser für den Test vorzubereiten:

  1. Verbinden Sie das DUT über USB mit einem Hostcomputer.
  2. Gewähren Sie dem Host die Berechtigung, über ADB auf die DUT zuzugreifen.
  3. Installieren Sie die CTS Verifier App (CtsVerifier.apk) auf dem DUT:

    extract root/out/host/linux-x86/cts-verifier/android-cts-verifier.zip
    
    cd android-cts-verifier
    
    adb install -r -g CtsVerifier.apk
    
  4. Installieren Sie die für den NFC-Test erforderlichen APKs:

    cd MultiDevice
    
    adb install -r -g NfcEmulatorTestApp.apk
    

NFC für das DUT einrichten

So richten Sie NFC für das DUT ein:

  1. Rufen Sie auf dem DUT das Menü Einstellungen auf.
  2. Suchen Sie nach dem Abschnitt NFC oder Verbundene Geräte.
  3. Achten Sie darauf, dass die NFC-Ein/Aus-Schaltfläche aktiviert ist.
  4. Platzieren Sie einen NFC-Chip auf dem NFC-Lesegerät des Smartphones:

    1. Besorgen Sie sich einen PN532-NFC-Chip. Wir empfehlen die All-in-One PN532 ohne BLE.
    2. Schließen Sie den PN532-NFC-Chip über ein USB-Kabel an den Linux-Host an.
    3. Platzieren Sie den PN532-NFC-Chip wie in der Abbildung unten über dem NFC-Lesegerät des Smartphones.

    Platzierung des NFC-Chips

    Abbildung 1: Platzierung des NFC-Chips

Testumgebung einrichten

So richten Sie die Testumgebung ein:

  1. Führen Sie die folgenden Befehle aus, um die Testumgebung einzurichten:

    cd MultiDevice
    
    source build/envsetup.sh
    

    Mit diesem Befehl wird Python geprüft und die Umgebungsvariable PYTHONPATH eingerichtet. Wenn keine Fehler im Terminal ausgegeben werden, ist die Umgebung bereit, die Tests für mehrere Geräte auszuführen.

    Wenn während der Laufzeit die Fehlermeldung libtinfo.so.6: no version information available (required by /bin/sh) angezeigt wird, führen Sie den folgenden Befehl aus, um die Datei libtinfo.so.6 umzubenennen:

    mv $ENV_DIRECTORY/lib/libtinfo.so.6 $ENV_DIRECTORY/lib/libtinfo.so.6.bak
    
  2. Richten Sie das Testfeld ein, indem Sie die Geräteseriennummern des DUT und des PN532-NFC-Lesegeräts in MultiDevice/config.yml festlegen:

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

NFC-Tests ausführen

So führen Sie die NFC-Tests aus:

  1. Öffnen Sie die CTS-V App und tippen Sie auf NFC-Tests:

    Die CTS-V-App

    Abbildung 2: Die CTS-V-App

    Das Infofenster mit der Liste der Testfälle wird angezeigt:

    Die CTS-V-App-Testfälle

    Abbildung 3: CTS-V-App-Testfälle

  2. Führen Sie die Tests auf Ihrem Host aus:

    MultiDevice$ python3 tools/run_all_tests.py
    

    Nach Abschluss der Tests werden die Testergebnisse in der CTS-V-App aktualisiert. Erfolgreiche Tests sind grün:

    Die CTS-V-Testergebnisse

    Abbildung 4: CTS-V-Testergebnisse

  3. Wenn Fehler rot markiert sind, verwenden Sie den folgenden Befehl, um die fehlgeschlagenen Tests noch einmal auszuführen:

    python3 tools/run_all_tests.py --test_cases "`TestCaseA`" "`TestCaseB`" --test_files "`TestFileA`"
    

    Dabei gilt:

    • TestCaseA und TestCaseB sind die Namen der Testfälle, wie sie in CTS-V angezeigt werden.
    • TestFileA ist die Testdatei mit den Testfällen.

    Beispiel:

    python3 tools/run_all_tests.py --test_cases "test_conflicting_non_payment" "test_conflicting_non_payment_prefix" --test_files "CtsNfcHceMultiDeviceTestCases-py-ctsv"