Der Android Compatibility Test Suite Verifier (CTS Verifier) ergänzt die Compatibility Test Suite (CTS). Während mit CTS APIs und Funktionen geprüft werden, die automatisiert werden können, bietet CTS Verifier Tests für APIs und Funktionen, die auf einem stationären Gerät ohne manuelle Eingabe oder Positionierung nicht getestet werden können, z. B. Audioqualität, Touchscreen, Beschleunigungsmesser und Kamera.
Voraussetzungen
Bevor Sie CTS Verifier ausführen, benötigen Sie Folgendes:
- Android-Gerät, das die CTS bestanden hat und somit die Android-API-Kompatibilität bestätigt. Das ist das zu testende Gerät (DUT).
- Linux-Computer mit einem USB 2.0-kompatiblen Anschluss. Alle Verbindungen zum Prüfling werden über diesen Port hergestellt.
- Zweites Android-Gerät mit einer bekannten kompatiblen Bluetooth-, Wi‑Fi Direct-, Wi‑Fi Aware-, UWB- (falls das zu testende Gerät UWB unterstützt) und NFC-Implementierung der Host Card Emulation (HCE).
- Ein WLAN-Router, der mit dem Namen und dem Passwort des Zugangspunkts konfiguriert ist. Der Router sollte die Möglichkeit haben, die Internetverbindung zu trennen, ohne dass er ausgeschaltet wird.
Stellen Sie außerdem sicher, dass Sie die Stative, Gerätehalterungen und vorab gemessenen Entfernungen vorbereiten, die für die Tests zur Entfernungsmessung (Nähe) für UWB, Wi-Fi NAN und Bluetooth RSSI erforderlich sind. Weitere Informationen finden Sie unter Anwesenheitsabstimmung.
UICC-Anforderungen für NFC-Tests
CTS Verifier enthält die folgenden NFC-Testläufe:
- Feld aus (verwendet Transaktionsdaten aus 0x54)
- Abwählen (Verwendung von Transaktionsdaten aus 0x52)
- HCI-Befehl (0025000000) (verwendet Transaktionsdaten aus 0x02)
Für Tests von Transaktionsereignissen sind zwei Geräte erforderlich. Auf einem davon muss eine SecureElement-UICC mit den folgenden Zugriffsregeln vorhanden sein:
- CTS Verifier-APK-Hash: 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
- Autorisierte Anwendungs-ID (AID) für den Zugriff auf NFC-Ereignisse: 0xA000000476416E64726F696443545341
Auf der Emulatorseite erwarten wir, dass durch das Transaktionsereignis die entsprechende Aktivität in den Vordergrund gerückt wird.
Einrichten
Ändern Sie den Systemnavigationsmodus des Testgeräts in den Modus mit drei Schaltflächen:
- Öffnen Sie die Einstellungen.
- Gehen Sie zu System > Gesten > Systemsteuerung.
- Wählen Sie einen beliebigen Navigationsmodus mit Schaltflächen aus. Der Modus mit drei Schaltflächen wird bevorzugt, sofern verfügbar.
So richten Sie die CTS Verifier-Testumgebung ein:
Auf dem Linux-Computer:
- Führen Sie den folgenden Befehl aus, bevor Sie den CTS Verifier installieren, um den Zugriff auf Nicht-SDK-Schnittstellen zu ermöglichen.
adb shell settings put global hidden_api_policy 1Installieren Sie Android Studio.
Laden Sie das CTS Verifier-APK für die zu testende Android-Version herunter.
Verbinden Sie das Prüfling mit dem Linux-Computer.
Installieren Sie
CtsVerifier.apkauf dem DUT über ein Terminal auf dem Linux-Computer:adb install -r -g CtsVerifier.apkFühren Sie unter Android 10 und höher den folgenden Befehl aus, um der App die Berechtigung zum Erstellen des Berichts zu erteilen:
adb shell appops set com.android.cts.verifier android:read_device_identifiers allowFühren Sie unter Android 11 und höher den folgenden Befehl aus, damit Berichte in einem selbst definierten Verzeichnis im externen Stammverzeichnis des Geräts gespeichert werden können:
adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0Führen Sie für Android 13 und höher den folgenden Befehl aus, um den Zugriff auf die Test-API für CTS Verifier zuzulassen:
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifierFühren Sie unter Android 14 und höher den folgenden Befehl aus, um der App die Berechtigung zum Einschalten des Displays zu erteilen:
adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0Prüfen Sie, ob auf dem zu testenden Gerät das Systemdatum und die Systemzeit richtig eingestellt sind.
CTS‑Prüfung ausführen
Starten Sie die CTS Verifier App, indem Sie auf dem DUT auf das CTS Verifier-Symbol tippen.
Abbildung 1: CTS‑Prüfungssymbol
In der App werden mehrere Testsets angezeigt, die für die manuelle Überprüfung verfügbar sind.
Abbildung 2: CTS‑Prüfung – Menü mit Tests
Jeder Test enthält unten auf dem Bildschirm eine Reihe gemeinsamer Elemente.
Abbildung 3: Testbildschirm mit hervorgehobenen gängigen Testelementen.
- Bestanden (✓): Tippen Sie darauf, wenn das zu prüfende Gerät die Testanforderungen gemäß der Anleitung unter „Info“ erfüllt.
- Info (?): Tippen Sie hier, um die Testanleitung aufzurufen. Wird auch automatisch angezeigt, wenn ein Test zum ersten Mal geöffnet wird.
- Fehler (!): Tippen Sie darauf, wenn das zu testende Gerät die Testanforderungen gemäß der Anleitung unter „Info“ nicht erfüllt.
Für einige Tests, z. B. den USB-Zubehör-Modus und den Kamerakalibrierungstest, sind zusätzliche Testeinrichtungen und Anleitungen erforderlich, wie in den folgenden Abschnitten beschrieben.
USB-Zubehör-Modus für Android 8.0 und höher testen
Abbildung 4: Testverfahren für USB-Zubehör für Android 8.0 und höher.
Abbildung 5: Testen des USB-Zubehör-Modus für Android 8.0 und höher
USB-Zubehörmodus für Android 7.x und niedriger testen
Für den USB-Zubehörtest ist ein Linux-Computer erforderlich, auf dem das USB-Desktopcomputerprogramm (Host) ausgeführt wird.
- Verbinden Sie das Prüfling mit dem Linux-Computer.
Führen Sie auf dem Computer das
cts-usb-accessory-Programm aus dem CTS Verifier-Paket aus:./cts-usb-accessoryWarten Sie, bis auf dem DUT ein Dialogfeld angezeigt wird, und tippen Sie dann auf OK.
Abbildung 6 Test von USB-Zubehör
Rufen Sie auf dem DUT in der CTS Verifier-App den USB-Zubehörtest auf.
Sehen Sie sich auf dem Computer die Ausgabe der Konsole an. Beispielausgabe:
CTS USB Accessory Tester Found possible Android device (413c:2106) - attempting to switch to accessory mode... Failed to read protocol versionfigure3 Found Android device in accessory mode (18d1:2d01)... [RECV] Message from Android device #0 [SENT] Message from Android accessory #0 [RECV] Message from Android device #1 [SENT] Message from Android accessory #1 [RECV] Message from Android device #2 [SENT] Message from Android accessory #2 [RECV] Message from Android device #3 [SENT] Message from Android accessory #3 [RECV] Message from Android device #4 [SENT] Message from Android accessory #4 [RECV] Message from Android device #5 [SENT] Message from Android accessory #5 [RECV] Message from Android device #6 [SENT] Message from Android accessory #6 [RECV] Message from Android device #7 [SENT] Message from Android accessory #7 [RECV] Message from Android device #8 [SENT] Message from Android accessory #8 [RECV] Message from Android device #9 [SENT] Message from Android accessory #9 [RECV] Message from Android device #10 [SENT] Message from Android accessory #10
Sichtfeld der Kamera kalibrieren
Mit dem Verfahren zur Kalibrierung des Sichtfelds können Sie das Sichtfeld des Geräts schnell und mit mittlerer Genauigkeit bestimmen.
Testumgebung einrichten:
- Drucken Sie die PDF-Datei mit dem Kalibrierungsmuster auf Papier im Format 11 × 17 Zoll oder A3.
- Bringen Sie das gedruckte Muster auf einer festen Unterlage an.
Richten Sie das Kameragerät und das gedruckte Ziel wie im folgenden Diagramm aus:
Abbildung 7. Gedrucktes Kameraziel.
Legen Sie die Zielbreite fest:
- Messen Sie den Abstand (in Zentimetern) zwischen den durchgezogenen Linien auf dem Testmuster, um Druckungenauigkeiten zu berücksichtigen (ca. 38 cm).
- Starten Sie die Kalibrierungsanwendung.
- Drücken Sie die Einrichtungstaste und wählen Sie Marker-Abstand aus.
- Messen Sie den Abstand zum Testmuster (~100 cm) und geben Sie ihn ein.
- Drücke die Zurück-Taste, um zur Vorschau der Kalibrierung zurückzukehren.
Prüfen Sie, ob das Gerät und das Ziel wie in der Abbildung platziert sind und die richtigen Entfernungen in das Einrichtungsdialogfeld eingegeben wurden. In der Vorschau wird das Bild mit einer vertikalen Linie angezeigt, die mit der Mittellinie des Zielmusters übereinstimmen sollte. Das transparente Raster kann zusammen mit den anderen vertikalen Linien verwendet werden, um zu prüfen, ob die optische Achse orthogonal zum Ziel ist.
Führen Sie den Kalibrierungstest aus:
- Wählen Sie eine Bildauflösung aus (mit dem Auswahlfeld unten links) und tippen Sie dann auf den Bildschirm, um ein Foto aufzunehmen. Der Test wechselt in den Kalibrierungsmodus und zeigt das Foto mit zwei vertikalen Linien an, die über das Bild gelegt werden.
- Genauigkeit bestimmen:
- Wenn die Linien innerhalb weniger Zentimeter mit den vertikalen Linien auf dem Testbild übereinstimmen, ist das angegebene Sichtfeld für die ausgewählte Auflösung korrekt.
- Wenn die Linien nicht übereinstimmen, ist das angegebene Sichtfeld ungenau. Um dies zu korrigieren, passen Sie den Schieberegler unten auf dem Bildschirm an, bis die Überlagerung so gut wie möglich mit dem Zielmuster übereinstimmt. Wenn das Overlay und das Zielmusterbild ausgerichtet sind, entspricht das angezeigte Sichtfeld in etwa dem korrekten Wert. Das gemeldete Sichtfeld sollte innerhalb von 2 Grad des Kalibrierungswerts liegen.
- Drücke die Zurück-Taste und wiederhole den Kalibrierungstest für alle vom Prüfling unterstützten Bildauflösungen.
CTS Verifier für alternative Modi ausführen
Ab CTS 10 R6 und CTS 11 R2 unterstützt CTS Verifier die Tests, die für Geräte mit alternativen Modi oder für Geräte mit mehr als einem Bildschirmmodus erforderlich sind.
Oben in der Hauptlistenansicht von CTS Verifier wird eine Schaltfläche angezeigt, mit der Nutzer zwischen dem aufgeklappten und dem zusammengeklappten Displaymodus wechseln können. CTS Verifier zeigt die erforderlichen Tests für den ausgewählten Anzeigemodus an. Um die alternativen Modi im CTS Verifier auszuführen, muss der Nutzer die Schaltfläche auf den entsprechenden Anzeigemodus umschalten und die angezeigte Liste mit Tests ausführen.
Abbildung 8. CTS‑Prüfung ein- oder ausschalten
Die Ergebnisse von gefalteten Tests werden im selben Bericht wie die Ergebnisse von ungefalteten Tests erfasst. Um jedes Testergebnis zu identifizieren, aus dem der Testsatz stammt, wird jedem Testnamen im minimierten Modus ein Suffix hinzugefügt.
<Test result="fail" name="com.android.cts.verifier.deskclock.DeskClockTestsActivity[folded]">
<RunHistory subtest="CREATE_ALARM[folded]">
<Run start="1594176663973" end="1594176665841" isAutomated="false" />
</RunHistory>
</Test>
Ergebnisse exportieren
Nachdem alle Tests abgeschlossen sind, können Sie die Ergebnisse als Bericht speichern und auf einen Computer herunterladen. Berichtsnamen werden automatisch mit einem Zeitstempel versehen, der auf der Systemzeit des zu testenden Geräts basiert.
Wenn Sie die Testergebnisse speichern möchten, tippen Sie oben in der Liste der Testkategorien auf das Speichersymbol (Festplatte).
Warten Sie, bis ein Dialogfeld mit dem Pfad zum gespeicherten Bericht angezeigt wird (z. B.
/sdcard/verifierReports/ctsVerifierReport-date-time.zip). Notieren Sie sich den Pfad.Verbinden Sie das Prüfling mit dem Linux-Computer.
Laden Sie Berichte vom verbundenen Gerät über
adb shell content readoderadb pull CTSVerifierReportPathaus der Android SDK-Installation auf dem Linux-Computer herunter.Laden Sie für Android 7.x und höher alle Berichte mit dem folgenden Befehl herunter:
adb pull /sdcard/verifierReportsBei Android 6.0 und niedriger laden Sie alle Berichte mit dem folgenden Befehl herunter:
adb pull /mnt/sdcard/ctsVerifierReports/Wenn Sie Android 10 oder höher implementieren und Geräte als sekundärer Nutzer ausgeführt werden, laden Sie den neuesten Bericht mit dem folgenden Befehl herunter:
adb shell content read --user <var>CURRENT_USER</var> --uri content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zipSo listen Sie alle auf dem verbundenen Gerät verfügbaren Berichte auf:
adb shell content query --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports ``` To download a report from the list, you can specify the Row ID or filename. For example: ```shell adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip ``` ```shell adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports ctsVerifierReport-date-time.zip > report.zip ```
Wenn Sie die Ergebnisse „Bestanden“ oder „Nicht bestanden“ löschen möchten, wählen Sie die Ergebnisse in der CTS Verifier App aus und klicken Sie auf das Menü > Löschen.