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:
- Bereiten Sie ein Gerät mit Ihrer Android 15-Implementierung vor.
- Beachten Sie die Anforderungen an CTS-V.
- 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:
- Verbinden Sie das DUT über USB mit einem Hostcomputer.
- Gewähren Sie dem Host die Berechtigung, über ADB auf die DUT zuzugreifen.
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
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:
- Rufen Sie auf dem DUT das Menü Einstellungen auf.
- Suchen Sie nach dem Abschnitt NFC oder Verbundene Geräte.
- Achten Sie darauf, dass die NFC-Ein/Aus-Schaltfläche aktiviert ist.
Platzieren Sie einen NFC-Chip auf dem NFC-Lesegerät des Smartphones:
- Besorgen Sie sich einen PN532-NFC-Chip. Wir empfehlen die All-in-One PN532 ohne BLE.
- Schließen Sie den PN532-NFC-Chip über ein USB-Kabel an den Linux-Host an.
- Platzieren Sie den PN532-NFC-Chip wie in der Abbildung unten über dem NFC-Lesegerät des Smartphones.
Abbildung 1: Platzierung des NFC-Chips
Testumgebung einrichten
So richten Sie die Testumgebung ein:
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 Dateilibtinfo.so.6
umzubenennen:mv $ENV_DIRECTORY/lib/libtinfo.so.6 $ENV_DIRECTORY/lib/libtinfo.so.6.bak
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:
Öffnen Sie die CTS-V App und tippen Sie auf NFC-Tests:
Abbildung 2: Die CTS-V-App
Das Infofenster mit der Liste der Testfälle wird angezeigt:
Abbildung 3: CTS-V-App-Testfälle
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:
Abbildung 4: CTS-V-Testergebnisse
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
undTestCaseB
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"