Der Android Compatibility Test Suite Verifier (CTS Verifier) ergänzt die Compatibility Test Suite (CTS). Während CTS automatisierbare APIs und Funktionen prüft, bietet CTS Verifier Tests für APIs und Funktionen, die ohne manuelle Eingabe nicht auf einem stationären Gerät getestet werden können, wie z. B. Audioqualität, Touchscreen, Beschleunigungssensor und Kamera.
Anforderungen
Stellen Sie vor dem Ausführen von CTS Verifier sicher, dass Sie über die folgende Ausrüstung verfügen:
- Android-Gerät, das die Android-API-Kompatibilität durch erfolgreiches Bestehen des CTS bestätigt hat. Dies ist das zu testende Gerät (DUT).
- Linux-Computer mit USB 2.0-kompatiblem Anschluss. Alle Verbindungen zum DUT gehen durch diesen Port.
- Zweites Android-Gerät mit bekanntermaßen kompatibler Implementierung von Bluetooth, Wi-Fi Direct und NFC-Hostkartenemulation (HCE).
- Ein Wi-Fi-Router, der mit Zugangspunktname und Passwort konfiguriert ist. Der Router sollte in der Lage sein, die Verbindung zum Internet zu trennen, aber nicht ausgeschaltet werden.
UICC-Anforderungen für NFC-Tests
CTS Verifier hat die folgenden NFC-Testfälle:
- Field-off (verwendet Transaktionsdaten ab 0x54)
- Abwählen (verwendet Transaktionsdaten ab 0x52)
- HCI-Befehl (0025000000) (verwendet Transaktionsdaten von 0x02)
Transaktionsereignistests erfordern zwei Geräte, von denen eines über SecureElement UICC mit den folgenden Zugriffsregeln verfügen muss:
- CtsVerifier APK-Hash: 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
- Authorized Application Identifier (AID) für NFC-Ereigniszugriff: 0xA000000476416E64726F696443545341
Auf der Emulatorseite erwarten wir, dass das Transaktionsereignis die entsprechende Aktivität in den Vordergrund drängt.
Aufstellen
Ändern Sie den Systemnavigationsmodus des Testgeräts wie folgt in den Drei-Tasten-Modus:
- Einstellungen öffnen.
- Navigieren Sie zu System > Gesten > Systemnavigation .
- Wählen Sie einen beliebigen tastenbasierten Navigationsmodus, vorzugsweise den Drei-Tasten-Modus, falls verfügbar.
So richten Sie die CTS Verifier-Testumgebung ein:
Auf dem Linux-Rechner:
Führen Sie vor der Installation von CTS Verifier den folgenden Befehl aus, um den Zugriff auf Nicht-SDK-Schnittstellen zu ermöglichen.
adb shell settings put global hidden_api_policy 1
Installieren Sie das Android Studio .
Laden Sie die CTS Verifier APK für die zu testende Android-Version herunter.
Verbinden Sie das DUT mit dem Linux-Computer.
Installieren Sie von einem Terminal auf dem Linux-Computer
CtsVerifier.apk
auf dem DUT.adb install -r -g CtsVerifier.apk
Fü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 allow
Führen Sie für Android 11 und höher den folgenden Befehl aus, damit Berichte in einem selbstdefinierten Verzeichnis unter dem externen Verzeichnis der obersten Ebene des Geräts gespeichert werden können.
adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0
Führen Sie für 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
Stellen Sie sicher, dass das DUT die Systemdaten und die Uhrzeit richtig eingestellt hat.
Führen Sie CTS Verifier aus
Starten Sie die CTS Verifier-Anwendung, indem Sie auf das CTS Verifier-Symbol auf dem DUT tippen.
Abbildung 1. CTS Verifier-Symbol
Die App zeigt mehrere Testreihen an, die zur manuellen Überprüfung verfügbar sind.
Abbildung 2. Testmenü des CTS Verifier
Jeder Test enthält eine Reihe gemeinsamer Elemente am unteren Rand des Bildschirms.
Abbildung 3. Testbildschirm mit hervorgehobenen allgemeinen Testelementen
- Übergeben (✓). Tippen Sie auf , wenn das DUT die Testanforderungen gemäß den Info-Anweisungen erfüllt.
- Infos (?). Tippen Sie auf , um Testanweisungen anzuzeigen. Wird auch automatisch angezeigt, wenn ein Test zum ersten Mal geöffnet wird.
- Scheitern (!). Tippen Sie auf , wenn das DUT die Testanforderungen gemäß den Info-Anweisungen nicht erfüllt.
Einige Tests, wie der USB-Zubehörmodus und der Kamerakalibrierungstest, erfordern zusätzliche Testeinstellungen und Anweisungen, wie in den folgenden Abschnitten beschrieben.
Testen Sie den USB-Zubehörmodus für 8.0 und höher
Abbildung 4. Testverfahren für USB-Zubehör für 8.0 und höher
Abbildung 5. Testen des USB-Zubehörmodus für 8.0 und höher
Testen Sie den USB-Zubehörmodus für 7.x und niedriger
Für den USB-Zubehörtest ist ein Linux-Computer erforderlich, um das USB-Desktop-Maschinen-(Host-)Programm auszuführen.
- Verbinden Sie das DUT mit dem Linux-Computer.
Führen Sie auf dem Computer das Programm
cts-usb-accessory
aus dem CTS Verifier-Paket aus:./cts-usb-accessory
Warten Sie, bis eine Popup-Meldung auf dem DUT erscheint, und wählen Sie dann OK .
Abbildung 6. USB-Zubehörtest
Gehen Sie zum USB-Zubehörtest in der Anwendung CTS Verifier auf dem DUT.
Überprü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
Sichtfeld der Kamera kalibrieren
Verwenden Sie das Sichtfeldkalibrierungsverfahren, um das Sichtfeld des Geräts schnell mit mäßiger Genauigkeit zu bestimmen.
Richten Sie die Testumgebung ein:
- Drucken Sie die Zieldatei „ calibration-pattern.pdf “ auf Papier im Format 11 x 17 Zoll oder A3.
- Montieren Sie das gedruckte Muster auf einer starren Unterlage.
Richten Sie das Kameragerät und das gedruckte Ziel wie in der folgenden Abbildung gezeigt aus.
Abbildung 7. Von der Kamera gedrucktes Ziel
Legen Sie die Zielbreite fest:
- Messen Sie den Abstand (in Zentimetern) zwischen den durchgezogenen Linien auf dem Zielmuster, um Druckungenauigkeiten zu berücksichtigen (~38 cm).
- Starten Sie die Kalibrierungsanwendung.
- Drücken Sie die Setup-Taste und wählen Sie Markierungsabstand .
- Messen und geben Sie den Abstand zum Zielmuster ein (~100 cm).
- Drücken Sie die Zurück-Taste, um zur Kalibrierungsvorschau zurückzukehren.
Vergewissern Sie sich, dass das Gerät und das Ziel wie in der Abbildung gezeigt platziert sind und die richtigen Entfernungen in das Setup-Dialogfeld eingegeben wurden. Die Vorschau zeigt das Bild mit einer darüber gelegten vertikalen Linie an; Diese Linie sollte mit der Mittellinie des Zielmusters übereinstimmen. Das transparente Gitter kann mit den anderen vertikalen Linien verwendet werden, um sicherzustellen, dass die optische Achse orthogonal zum Ziel ist.
Führen Sie den Kalibrierungstest durch:
- Wählen Sie eine Bildauflösung (mithilfe der Auswahl 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 das Bild überlagern.
- Genauigkeit bestimmen:
- Wenn die Linien mit den vertikalen Linien auf dem Zielmuster innerhalb weniger Zentimeter ausgerichtet sind, ist das gemeldete Sichtfeld für die ausgewählte Auflösung genau.
- Wenn die Linien nicht ausgerichtet sind, ist das gemeldete Sichtfeld ungenau. Um dies zu korrigieren, passen Sie den Schieberegler am unteren Rand des Bildschirms an, bis die Überlagerung so gut wie möglich mit dem Zielmuster übereinstimmt. Wenn die Überlagerung und das Zielmusterbild ausgerichtet sind, ist das angezeigte Sichtfeld eine enge Annäherung an den korrekten Wert. Das gemeldete Sichtfeld sollte innerhalb von +/-2 Grad des Kalibrierungswerts liegen.
- Drücken Sie die Zurück-Taste und wiederholen Sie den Kalibrierungstest für alle vom DUT unterstützten Bildauflösungen.
Führen Sie CTS Verifier für alternative Modi aus
Ab den Releases 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.
Am oberen Rand der Hauptlistenansicht in CTS Verifier wird eine Schaltfläche angezeigt, mit der Benutzer zwischen dem aufgeklappten und dem gefalteten Anzeigemodus umschalten können. CTS Verifier zeigt die erforderlichen Tests für den ausgewählten Anzeigemodus an. Um die alternativen Modi in CTS Verifier auszuführen, sollte man die Schaltfläche auf den entsprechenden Anzeigemodus umschalten und die Liste der angezeigten Tests ausführen.
Die Ergebnisse gefalteter Tests werden im selben Bericht wie die ungefalteten Tests aufgezeichnet. Um jedes Testergebnis zu identifizieren, aus dem die Testreihe stammt, wird jedem Testnamen im gefalteten 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 basierend auf der DUT-Systemzeit automatisch mit einem Zeitstempel versehen.
Um Ihre Testergebnisse zu speichern, tippen Sie oben in der Liste der Testkategorien auf das Symbol „Speichern“ (Diskette).
Warten Sie auf eine Popup-Meldung, die den Dateipfad zum gespeicherten Bericht anzeigt (z. B.
/sdcard/verifierReports/ctsVerifierReport-date-time.zip
), und notieren Sie sich dann den Pfad.Verbinden Sie das DUT mit dem Linux-Computer.
Laden Sie von der Android SDK-Installation auf dem Linux-Computer Berichte vom verbundenen Gerät mit
adb shell content read
oderadb pull CTSVerifierReportPath
.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/
Laden Sie für Android 10 und höher, die Implementierung von Automotive und Geräte, die als sekundärer Benutzer ausgeführt werden, den neuesten 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
Um einen Bericht aus der Liste herunterzuladen, können Sie die Zeilen-ID oder den Dateinamen angeben. Zum 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
Um Pass/Fail-Ergebnisse zu löschen, wählen Sie die Ergebnisse in der CTS Verifier-App aus und wählen Sie Menü > Löschen .