Auf dieser Seite finden Sie eine Anleitung zur Verwendung von CTS Verifier-Tests (CTS-V) für mehrere Geräte für Android 16 und höher.
Hostseitige Tests auf mehreren Geräten einrichten
In diesem Abschnitt wird beschrieben, wie Sie Tests auf mehreren Geräten einrichten.
- Achten Sie darauf, dass Ihr Desktopcomputer die Betriebssystemanforderungen für CTS erfüllt.
- Folgen Sie Schritt 2 und Schritt 5 der Anleitung zum Installieren von Desktopsoftware, um sicherzustellen, dass adb, AAPT2 und Python auf Ihrem Computer korrekt installiert sind.
Bereiten Sie zwei passende Testgeräte vor, auf denen jeweils CTS-V eingerichtet ist.
- Informationen zum Einrichten eines DUT finden Sie unter DUT einrichten.
- Eine Anleitung zum Einrichten von CTS-V finden Sie unter Einrichtung.
Wenn Sie ein anderes Modul als NFC testen, folgen Sie der Anleitung unter Standardtests mit zwei Geräten einrichten.
- Folgen Sie für NFC-Tests der Anleitung unter NFC-Tests einrichten.
Wenn Sie das CDM-Modul testen, folgen Sie zusätzlich zur Standardeinrichtung mit zwei Geräten der Anleitung unter CDM-Tests einrichten.
Standardtests mit zwei Geräten einrichten
Für die Standardeinrichtung mit zwei Geräten:
- Stellen Sie zwei passende Android-Testgeräte in einem Abstand von etwa 20 cm auf.
Um eine saubere Umgebung zu gewährleisten, platzieren Sie beide Geräte in einer abgeschirmten Box.
Optional: Richten Sie einen OTA-Sniffer für das WLAN-Debugging ein.
NFC-Tests einrichten
Für NFC-Tests wird ein zu testendes Gerät und ein PN532-NFC-Chip verwendet.
So richten Sie NFC-Tests ein:
- Kaufen Sie einen PN532-NFC-Chip. Wir empfehlen den All-In-One PN532.
Öffnen Sie auf dem zu testenden Gerät die Einstellungen.
Aktivieren Sie NFC.
Positionieren Sie den NFC-Chip:
Positionieren Sie das NFC-Lesegerät des DUT für Smartphones wie in Abbildung 1 gezeigt:
Abbildung 1: Positionierung des NFC-Chips.
Bei anderen Gerätetypen halten Sie den Chip an die NFC-Antenne des Geräts.
Schließen Sie den PN532-NFC-Chip über ein USB-Kabel an Ihre Test-Workstation an.
CDM-Tests einrichten
Der Testlauf test_permissions_sync()
verhält sich je nach Build-Typ der Geräte, auf denen der Test ausgeführt wird, unterschiedlich. Es ist wichtig, dass OEMs sowohl debugfähige (userdebug oder eng) als auch nicht debugfähige (user) Builds testen und dass die Tests für beide bestehen.
Ausnahme
Die CDD-Klausel für die Implementierung der Berechtigungssynchronisierungs-API erfordert nur, dass Daten über einen sicheren Kanal zwischen Geräten übertragen werden können. Da die Implementierung des sicheren Kanals keine CDD-Konformitätsanforderung ist, kann dieser Test bei nicht debugfähigen (Nutzer-)Builds übersprungen werden, aber nur, wenn Sie die Funktion zur Synchronisierung von CDM-Berechtigungen nicht unterstützen möchten.
Die Tests müssen bei debugfähigen Builds ausnahmslos bestanden werden.
Voraussetzungen für das Testen von nicht debugfähigen Builds
Wenn Sie nicht durch die vorherigen Ausnahmeklauseln ausgenommen sind, müssen die folgenden Voraussetzungen erfüllt sein.
Der sichere Kanal verwendet AVF (AttestationVerificationFramework
), um die Vertrauenswürdigkeit der Hardware zu überprüfen. Von beiden Parteien generierte Attestierungen enthalten mehrere Informationen über sich selbst, um sicherzustellen, dass in ihrem System keine unbefugten Änderungen vorgenommen wurden. AVF prüft während des Überprüfungsprozesses die folgenden Status:
- Das Gerät hat Zugriff auf das Internet.
- Das Gerät verwendet Verified Boot und der Build muss mit einem Release-Schlüssel und nicht mit einem Entwicklerschlüssel signiert sein.
- Der Bootloader des Geräts ist gesperrt. Eine ausführliche Anleitung finden Sie unter Bootloader sperren.
- Die Patch-Ebenen für Betriebssystem, Haupt-Bootloader und Hauptanbieter liegen innerhalb von 12 Monaten. Verwenden Sie keinen Build, der älter als ein Jahr ist.
Die Geräteattestierung wird durch eines der vom Anbieter genehmigten Root-Zertifikate unterstützt. Geben Sie Ihre vertrauenswürdigen Root-Zertifikate im Ressourcen-Overlay
vendor_required_attestation_certificates.xml
an.
Hostseitige Multidevice-Tests ausführen (AOSP 16 oder höher)
Mit CTS Verifier 16 wird die Unterstützung für Host-seitige Tests auf mehreren Geräten eingeführt. Diese Tests können mithilfe automatisierter Skripts auf dem Host ausgeführt werden, anstatt manuell auf dem Gerät. Nach Abschluss jedes Tests werden die Ergebnisse automatisch auf das zu testende Gerät hochgeladen und in der CTS Verifier App angezeigt.
In diesem Abschnitt wird erläutert, wie Sie die hostseitigen Tests für mehrere Geräte ausführen.
Tests auf mehreren Geräten ausführen
So führen Sie einen Test auf mehreren Geräten durch:
Starten Sie auf Ihrer Test-Workstation die
cts-v-host
-Konsole aus dem Verzeichnis, in dem das CTS-V-ZIP-Paket entzippt wurde:./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
Klicken Sie in der CTS Verifier App auf dem zu testenden Gerät auf Host-side Tests (Hostseitige Tests). Abbildung 2 zeigt die Host-seitigen Tests in der CTS Verifier App:
Abbildung 2: Hostseitige Tests für mehrere Geräte in der CTS Verifier App.
Eine Liste der hostseitigen Multidevice-Testmodule wird angezeigt.
Ermitteln Sie den Namen des Testmoduls, das Sie ausführen möchten. Das CompanionDeviceManager-Modul wird beispielsweise als CtsCompanionDeviceManagerMultiDeviceTestCases aufgeführt.
Führen Sie in der cts-v-host-Konsole den folgenden Befehl aus:
run cts-v-host -m test_module_name
Beispiel:
run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
Nachdem die xTS-Konsole die Tests abgeschlossen hat, werden die Ergebnisse in der CTS Verifier App angezeigt. Grün markierte Tests wurden bestanden. Rot markierte Tests sind fehlgeschlagen. Abbildung 3 zeigt Beispielergebnisse für die CtsCompanionDeviceManager-Tests:
Abbildung 3: Ergebnisse von Host-seitigen Tests auf mehreren Geräten in der CTS Verifier App.
Fehlerbehebung bei Tests auf mehreren Geräten
In diesem Abschnitt finden Sie Hilfe zur Fehlerbehebung bei möglichen Problemen.
Problem behoben: Keine Antwort für „GetFirmwareVersion“ bei NFC-Tests
Wenn Sie beim Ausführen der Tests für mehrere Geräte die Meldung verify_firmware_version RuntimeError: No response
for GetFirmwareVersion
erhalten, können die Tests nicht auf das PN532-NFC-Board zugreifen.
Um dieses Problem zu beheben, müssen Sie den seriellen Pfad ermitteln, der vom PN532-NFC-Board auf Ihrem Host verwendet wird, z. B. dev/ttyUSB1
, und ihn dann manuell mit dem Argument --module-arg
in der Konsole angeben:
run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1
Fehlermeldung „Transaktion fehlgeschlagen“ bei NFC-Tests beheben
Wenn Sie für alle NFC-Testläufe die Meldung Transaction failed, check device logs for more
information.
erhalten, liegt das wahrscheinlich daran, dass der NFC-Chip des zu testenden Geräts den PN532 nicht erkennen kann.
Wenn mehrere Geräte mit dem Host verbunden sind und einige davon keinen PN532 obenauf haben, wurde möglicherweise das falsche DUT ausgewählt. Weitere Informationen finden Sie unter NFC-Tests einrichten.
Führen Sie einen der folgenden Schritte aus, um das Problem zu beheben:
Legen Sie die richtige Seriennummer des zu testenden Geräts in Ihrem hostseitigen Testbefehl mit dem Flag
-s
fest.Trennen Sie alle Geräte, die nicht zum Prüfling gehören, vom Host.
CDM-Testlauf test_permissions_sync
wird ignoriert
Wenn der Test auf Geräten ausgeführt wird, die nicht debugfähig sind, prüfen Sie, ob Sie ausgenommen sind. Achten Sie andernfalls darauf, dass beide Geräte die Voraussetzungen erfüllen.