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 Android-API-Kompatibilität durch Bestehen der CTS bestätigt hat. 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- (wenn das zu testende Gerät UWB unterstützt) und NFC-Host Card Emulation-Implementierung (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, aber nicht ausgeschaltet werden.
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 (verwendet Transaktionsdaten von 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:
- CtsVerifier-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 Emulatorsite 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 1
Installieren 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.apk
über ein Terminal auf dem Linux-Computer auf dem DUT.adb install -r -g CtsVerifier.apk
Fü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 allow
Fü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 0
Führen Sie unter Android 13 und höher den folgenden Befehl aus, um den Test-API-Zugriff für CTS Verifier zuzulassen.
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
Fü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 0
Achten Sie darauf, dass auf dem zu testenden Gerät das Systemdatum und die Systemzeit richtig eingestellt sind.
CTS‑Prüfung ausführen
Starten Sie die CTS‑Prüfungsanwendung, indem Sie auf dem zu testenden Gerät auf das Symbol für die CTS‑Prüfung tippen.
Abbildung 1: Symbol für die CTS‑Prüfung
In der App werden mehrere Testsets angezeigt, die für die manuelle Überprüfung verfügbar sind.
Abbildung 2: CTS‑Prüfungsmenü mit Tests
Jeder Test enthält unten auf dem Bildschirm eine Reihe von gemeinsamen Elementen.
Abbildung 3: Testbildschirm mit hervorgehobenen gängigen Testelementen
- Bestanden (✓): Tippen Sie darauf, wenn das zu testende 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örmodus 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-accessory
Warten Sie, bis auf dem DUT eine Pop-up-Meldung angezeigt wird, und wählen Sie dann OK aus.
Abbildung 6 Test von USB-Zubehör
Rufen Sie auf dem DUT den USB-Zubehörtest in der CTS Verifier-App 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 Zieldatei calibration-pattern.pdf 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 (~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 Testbilds übereinstimmen sollte. Das transparente Raster kann zusammen mit den anderen vertikalen Linien verwendet werden, um sicherzustellen, dass 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 ermitteln:
- 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 das Overlay so gut wie möglich mit dem Zielmuster übereinstimmt. Wenn das Overlay und das Bild des Zielmusters ausgerichtet sind, entspricht das angezeigte Sichtfeld in etwa dem korrekten Wert. Das angegebene 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 für Geräte mit alternativen Modi oder für Geräte mit mehr als einem Bildschirmmodus erforderlichen Tests.
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/Aus-Schalter
Die Ergebnisse von gefalteten Tests werden im selben Bericht wie die Ergebnisse der entfalteten 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 auf eine Pop-up-Meldung mit dem Dateipfad zum gespeicherten Bericht (z. B.
/sdcard/verifierReports/ctsVerifierReport-date-time.zip
) und 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 read
oderadb pull CTSVerifierReportPath
aus 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/verifierReports
Laden Sie für Android 6.0 und niedriger alle Berichte mit dem folgenden Befehl herunter:
adb pull /mnt/sdcard/ctsVerifierReports/
Wenn Sie Android 10 oder höher implementieren und Automotive-Geräte als sekundärer Nutzer ausgeführt werden, laden Sie den aktuellen Bericht mit dem folgenden Befehl herunter:
adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zip
So 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
Wenn Sie einen Bericht aus der Liste herunterladen möchten, können Sie die Zeilen-ID oder den Dateinamen angeben. Beispiel:
adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip 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“/„Nicht bestanden“ löschen möchten, wählen Sie die Ergebnisse in der CTS Verifier App aus und klicken Sie auf Menü > Löschen.