Mehrgerätetests mit CTS Verifier ausführen

Auf dieser Seite finden Sie eine Anleitung für die Verwendung von CTS-Verifier-Mehrgerätetests (CTS-V) für Android 16 und höher.

Hostseitige Tests für mehrere Geräte einrichten

In diesem Abschnitt wird erläutert, wie Sie Tests für mehrere Geräte einrichten.

  1. Ihr Computer muss die Betriebssystemanforderungen für CTS erfüllen.
  2. Führen Sie die Schritte 2 und 5 unter Desktopsoftware installieren aus, um sicherzustellen, dass adb, AAPT2 und Python korrekt auf Ihrem Computer installiert sind.
  3. Bereiten Sie zwei übereinstimmende Testgeräte (DUTs) 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.
  4. Wenn Sie ein anderes Modul als NFC testen, folgen Sie der Anleitung unter Standardtests mit zwei Geräten einrichten.

  5. 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:

  1. Platzieren Sie zwei übereinstimmende Android-Testgeräte etwa 20 cm voneinander entfernt.
  2. Legen Sie beide Geräte in eine Abschirmbox, um eine saubere Umgebung zu schaffen.

  3. Optional: Richten Sie einen OTA-Sniffer für die WLAN-Fehlerbehebung ein.

NFC-Tests einrichten

Für NFC-Tests wird eine DUT und ein PN532-NFC-Chip verwendet.

So richten Sie NFC-Tests ein:

  1. Kaufen Sie einen PN532-NFC-Chip. Wir empfehlen den All-in-One PN532.
  2. Rufen Sie auf dem Testgerät die Einstellungen auf.

  3. Aktivieren Sie NFC.

  4. Positionieren Sie den NFC-Chip so:

    • Positionieren Sie bei Smartphones den NFC-Leser des Prüflings wie in Abbildung 1 gezeigt:

      Position des NFC-Chips

      Abbildung 1: Position des NFC-Chips

    • Bei anderen Gerätetypen platzieren Sie den Chip neben der NFC-Antenne des Geräts.

  5. Schließen Sie den PN532-NFC-Chip über ein USB-Kabel an Ihre Teststation an.

CDM-Tests einrichten

Das Verhalten des test_permissions_sync()-Testfalls hängt vom Buildtyp der Geräte ab, auf denen der Test ausgeführt wird. Es ist wichtig, dass sowohl debugfähige (userdebug oder eng) als auch nicht debugfähige (user) Builds von OEMs getestet werden und dass die Tests für beide bestanden werden.

Ausnahme

Gemäß der CDD-Klausel für die Implementierung der Berechtigungssynchronisierungs-API muss die API nur in der Lage sein, Daten über einen sicheren Kanal zwischen Geräten zu übertragen. Da die Implementierung sicherer Kanäle keine CDD-Compliance-Anforderung ist, kann dieser Test bei nicht debuggbaren (Nutzer-)Builds übersprungen werden. Das ist aber nur möglich, wenn Sie die Unterstützung der Funktion zur Synchronisierung von CDM-Berechtigungen deaktivieren möchten.

Die Tests müssen in debugfähigen Builds ausnahmslos erfolgreich sein.

Voraussetzungen für Tests mit nicht debuggbaren Builds

Wenn Sie nicht von den 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 erstellte Attestationen enthalten mehrere Informationen zu sich selbst, um sicherzustellen, dass keine nicht autorisierten Änderungen an ihrem System 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 den verifizierten Start 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 Patchebenen für das Betriebssystem, die wichtigsten Boot- und die wichtigsten Anbieter-Patches liegen innerhalb von 12 Monaten. Verwenden Sie keine Builds, die älter als ein Jahr sind.
  • Die Geräteattestierung wird von einem der vom Anbieter genehmigten Stammzertifikate unterstützt. Geben Sie Ihre vertrauenswürdigen Root-Zertifikate im vendor_required_attestation_certificates.xml-Ressourcen-Overlay an.

Hostseitige Mehrgerätetests ausführen (AOSP 16 oder höher)

CTS Verifier 16 unterstützt hostseitige Mehrgerätetests. Diese Tests können mithilfe automatisierter Scripts auf dem Host ausgeführt werden, anstatt den manuellen Testvorgang auf dem Gerät durchzuführen. Nach jedem Test werden die Ergebnisse automatisch in die DUT hochgeladen und in der CTS Verifier App angezeigt.

In diesem Abschnitt wird beschrieben, wie Sie die hostseitigen Mehrgerätetests ausführen.

Mehrgerätetests ausführen

So führen Sie einen Test mit mehreren Geräten durch:

  1. Starten Sie auf Ihrer Test-Workstation die cts-v-host-Konsole aus dem Verzeichnis, in dem das CTS-V-Zip-Paket entpackt wurde:

    ./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
    
  2. Klicken Sie in der CTS Verifier App auf der DUT auf Host-Tests. Abbildung 2 zeigt die hostseitigen Tests in der CTS-Verifier-App:

    Hostseitige Mehrgerätetests in der CTS Verifier App

    Abbildung 2: Hostseitige Mehrgerätetests in der CTS Verifier App

    Eine Liste der hostseitigen Multigeräte-Testmodule wird angezeigt.

  3. Geben Sie den Namen des Testmoduls an, das Sie ausführen möchten. Das Modul „CompanionDeviceManager“ wird beispielsweise als CtsCompanionDeviceManagerMultiDeviceTestCases aufgeführt.

  4. Führen Sie in der cts-v-host-Konsole den folgenden Befehl aus: Hinweis: Wenn Sie in der CTS Verifier App auf ein hostseitiges Modul tippen, wird keine Liste der einzelnen Testfälle angezeigt. Stattdessen werden die Testfallergebnisse automatisch in die Benutzeroberfläche eingefügt, nachdem das Modul auf dem Host ausgeführt wurde.

  5. Führen Sie in der xTS-Konsole den folgenden Befehl aus:

    run cts-v-host -m test_module_name
    

    Beispiel:

    run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
    

    Nachdem die Tests in der xTS-Konsole abgeschlossen sind, werden die Ergebnisse in der CTS Verifier App angezeigt. Tests, die grün markiert sind, wurden bestanden. Tests, die rot markiert sind, sind fehlgeschlagen. Abbildung 3 zeigt Beispielergebnisse für die CtsCompanionDeviceManager-Tests:

    Hostseitige Testergebnisse für mehrere Geräte in der CTS Verifier App

    Abbildung 3: Hostseitige Testergebnisse für mehrere Geräte in der CTS Verifier App

Fehlerbehebung bei Tests für mehrere Geräte

In diesem Abschnitt finden Sie Hilfe zur Fehlerbehebung bei möglichen Problemen.

Fehlerbehebung: Keine Antwort für „GetFirmwareVersion“ bei NFC-Tests

Wenn Sie während der Mehrgerätetests 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, ermitteln Sie den seriellen Pfad, der vom PN532-NFC-Board auf Ihrem Host verwendet wird, z. B. dev/ttyUSB1, und geben Sie ihn dann manuell mit dem Argument --module-arg in der Konsole an:

run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1

Fehlermeldung „Transaktion fehlgeschlagen“ bei NFC-Tests beheben

Wenn Sie die Meldung Transaction failed, check device logs for more information. für alle NFC-Testfälle erhalten, kann das daran liegen, dass der NFC-Chip des DUT den PN532 nicht erkennt.

Wenn mehrere Geräte mit dem Host verbunden sind und einige davon kein PN532 haben, wurde möglicherweise die 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 der DUT in Ihrem hostseitigen Testbefehl mit dem Flag -s fest.

  • Trennen Sie alle Geräte, die nicht zum DUT gehören, vom Host.

CDM-Testfall test_permissions_sync wird ignoriert

Wenn der Test auf Geräten ausgeführt wird, die nicht debuggt werden können, prüfen Sie, ob Sie ausgenommen sind. Andernfalls müssen beide Geräte die Voraussetzungen erfüllen.