Die Android Compatibility Test Suite Verifier App (CTS‑Prüfung) ergänzt die Compatibility Test Suite (CTS). Während mit der CTS APIs und Funktionen geprüft werden, die automatisiert werden können, bietet die CTS‑Prüfung Tests für APIs und Funktionen, die auf einem stationären Gerät nicht ohne manuelle Eingabe oder Positionierung getestet werden können, z. B. Audioqualität, Touchscreen, Beschleunigungsmesser und Kamera.
Voraussetzungen
Bevor Sie die CTS‑Prüfung ausführen, benötigen Sie folgende Geräte:
- Ein Android-Gerät, dessen Android API-Kompatibilität durch Bestehen der CTS bestätigt wurde. Dies ist das zu testende Gerät.
- Einen Linux-Computer mit einem USB 2.0-kompatiblen Anschluss. Alle Verbindungen zum zu testenden Gerät werden über diesen Anschluss hergestellt.
- Ein 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 (HCE)-Implementierung.
- Einen WLAN-Router, der mit einem Zugangspunktnamen und einem Passwort konfiguriert ist. Der Router sollte die Möglichkeit haben, die Internetverbindung zu trennen, ohne ausgeschaltet zu werden.
Halten Sie außerdem die Stative, Gerätehalter und vorab gemessenen Entfernungen bereit, die für die Tests zur Entfernungsmessung (Näherung) für UWB, Wi-Fi NAN und Bluetooth RSSI erforderlich sind. Weitere Informationen finden Sie unter Anwesenheit kalibrieren.
UICC-Anforderungen für NFC-Tests
Die CTS‑Prüfung umfasst die folgenden NFC-Testfälle:
- Field-off (verwendet Transaktionsdaten von 0x54)
- De-select (verwendet Transaktionsdaten von 0x52)
- HCI-Befehl (0025000000) (verwendet Transaktionsdaten von 0x02)
Für Tests von Transaktionsereignissen sind zwei Geräte erforderlich, von denen eines eine SecureElement-UICC mit den folgenden Zugriffsregeln haben muss:
- CTS‑Prüfung 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 wird erwartet, dass das Transaktionsereignis die entsprechende Aktivität in den Vordergrund rückt.
Einrichtung
Für Android 17 ist ein zusätzlicher CTS‑V-Einrichtungsschritt erforderlich, um die Standardbrowserrolle zu gewähren.
Ändern Sie den Systemnavigationsmodus des Testgeräts wie folgt in den Modus mit drei Schaltflächen:
- Öffnen Sie die Einstellungen.
- Rufen Sie System > Interaktion > Navigationsmodus auf.
- Wählen Sie einen beliebigen schaltflächenbasierten Navigationsmodus aus. Der Modus mit drei Schaltflächen wird bevorzugt, falls verfügbar.
So richten Sie die Testumgebung für die CTS‑Prüfung ein:
Auf dem Linux-Computer:
- Führen Sie vor der Installation der CTS‑Prüfung den folgenden Befehl aus, um den Zugriff auf Nicht-SDK-Schnittstellen zu ermöglichen:
adb shell settings put global hidden_api_policy 1Installieren Sie Android Studio.
Laden Sie die CTS‑Prüfung APK für die zu testende Android-Version herunter.
Verbinden Sie das zu testende Gerät mit dem Linux-Computer.
Installieren Sie
CtsVerifier.apküber ein Terminal auf dem Linux-Computer auf dem zu testenden Gerät:adb install -r -g CtsVerifier.apkFühren Sie für 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 für Android 11 und höher den folgenden Befehl aus, um zu ermöglichen, dass Berichte in einem selbst definierten Verzeichnis unter dem externen Verzeichnis der obersten Ebene des Geräts gespeichert werden:
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 Test-API-Zugriff für die CTS‑Prüfung zu ermöglichen:
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifierFühren Sie für Android 14 und höher den folgenden Befehl aus, um der App die Berechtigung zum Einschalten des Bildschirms zu erteilen:
adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0Führen Sie für Android 17 und höher den folgenden Befehl aus, um der CTS‑Prüfung die Standardbrowserrolle zu gewähren:
adb shell 'cmd role add-role-holder --user $(am get-current-user) android.app.role.BROWSER com.android.cts.verifier'Prü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‑Prüfung App, indem Sie auf dem zu testenden Gerät auf das Symbol „CTS‑Prüfung“ tippen.
Abbildung 1 : Symbol der CTS‑Prüfung
In der App werden mehrere Testsätze für die manuelle Überprüfung angezeigt.
Abbildung 2 : Menü der CTS‑Prüfung mit Tests
Jeder Test enthält unten auf dem Bildschirm eine Reihe gemeinsamer Elemente.
Abbildung 3 : Testbildschirm mit hervorgehobenen gemeinsamen Testelementen
- Bestanden (✓): Tippen Sie darauf, wenn das zu testende Gerät die Testanforderungen gemäß der Anleitung unter „Info“ erfüllt.
- Info (?): Tippen Sie darauf, um die Testanleitung aufzurufen. Wird auch automatisch angezeigt, wenn ein Test zum ersten Mal geöffnet wird.
- Nicht bestanden (!): 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örmodus, sind zusätzliche Testeinrichtungen und Anleitungen erforderlich, wie in den folgenden Abschnitten beschrieben.
USB-Zubehörmodus 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 : USB-Zubehörmodus für Android 8.0 und höher testen
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-Desktop-Programm (Host) ausgeführt wird.
- Verbinden Sie das zu testende Gerät mit dem Linux-Computer.
Führen Sie auf dem Computer das Programm
cts-usb-accessoryaus dem CTS‑Prüfungspaket aus:./cts-usb-accessoryWarten Sie, bis auf dem zu testenden Gerät ein Dialogfeld angezeigt wird, und tippen Sie dann auf OK.
Abbildung 6 : USB-Zubehörtest
Rufen Sie auf dem zu testenden Gerät in der CTS‑Prüfung den USB-Zubehörtest auf.
Prüfen Sie auf dem Computer die Ausgabe der Konsole. 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
CTS‑Prüfung für alternative Modi ausführen
Ab den CTS 10 R6- und CTS 11 R2-Releases unterstützt die CTS‑Prüfung 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 der CTS‑Prüfung wird eine Schaltfläche angezeigt, mit der Nutzer zwischen dem aufgeklappten und dem zusammengeklappten Anzeigemodus wechseln können. Die CTS‑Prüfung zeigt die erforderlichen Tests für den ausgewählten Anzeigemodus an. Um die alternativen Modi in der CTS‑Prüfung auszuführen, muss die Schaltfläche in den entsprechenden Anzeigemodus umgeschaltet und die Liste der angezeigten Tests ausgeführt werden.
Abbildung 7 : Umschalter der CTS‑Prüfung
Die Ergebnisse der Tests im zusammengeklappten Modus werden im selben Bericht wie die Tests im aufgeklappten Modus aufgezeichnet. Um jedes Testergebnis dem jeweiligen Testsatz zuzuordnen, wird jedem Testnamen im zusammengeklappten 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
Nach Abschluss aller Tests 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 Ihre Testergebnisse speichern möchten, tippen Sie oben in der Liste der Testkategorien auf das Symbol „Speichern“ (Diskette).
Warten Sie, bis ein Dialogfeld mit dem Pfad zum gespeicherten Bericht angezeigt wird (z. B.
/sdcard/verifierReports/ctsVerifierReport-date-time.zip), und notieren Sie sich den Pfad.Verbinden Sie das zu testende Gerät mit dem Linux-Computer.
Laden Sie über die Android SDK-Installation auf dem Linux-Computer Berichte vom verbundenen Gerät herunter. Verwenden Sie dazu
adb shell content readoderadb pull CTSVerifierReportPath.Verwenden Sie für Android 7.x und höher den folgenden Befehl, um alle Berichte herunterzuladen:
adb pull /sdcard/verifierReportsVerwenden Sie für Android 6.0 und niedriger den folgenden Befehl, um alle Berichte herunterzuladen:
adb pull /mnt/sdcard/ctsVerifierReports/Wenn Sie Android 10 und höher implementieren, Automotive und Geräte, die als sekundärer Nutzer ausgeführt werden, verwenden, 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 Berichte auf, die auf dem verbundenen Gerät verfügbar sind:
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 Ergebnisse vom Typ „Bestanden“ oder „Nicht bestanden“ löschen möchten, wählen Sie die Ergebnisse in der CTS‑Prüfung aus und wählen Sie Menü > Löschen aus.