Der Android Compatibility Test Suite Verifier (CTS Verifier) ergänzt die Compatibility Test Suite (CTS). Während CTS APIs und Funktionen prüft, die automatisiert werden können, bietet CTS Verifier Tests für APIs und Funktionen, die auf einem stationären Gerät ohne manuelle Eingaben nicht getestet werden können, wie z. B. Audioqualität, Touchscreen, Beschleunigungsmesser und Kamera.
Anforderungen
Stellen Sie vor der Ausführung 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 überprüft hat. Dies ist das zu testende Gerät (DUT).
- Linux-Computer mit USB 2.0-kompatiblem Anschluss. Alle Verbindungen zum DUT laufen über diesen Port.
- Zweites Android-Gerät mit bekanntermaßen kompatibler Implementierung von Bluetooth, Wi-Fi Direct und NFC-Hostkartenemulation (HCE).
- Ein WLAN-Router, der mit Zugangspunktname und Passwort konfiguriert ist. Der Router sollte die Möglichkeit haben, die Verbindung zum Internet zu trennen, aber nicht ausgeschaltet werden.
UICC-Anforderungen für NFC-Tests
CTS Verifier verfügt über die folgenden NFC-Testfälle:
- Field-Off (verwendet Transaktionsdaten von 0x54)
- Abwählen (verwendet Transaktionsdaten von 0x52)
- HCI-Befehl (0025000000) (verwendet Transaktionsdaten von 0x02)
Für Transaktionsereignistests sind zwei Geräte erforderlich, 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
- Autorisierter Anwendungsidentifikator (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 > Geste > 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-Computer:
Führen Sie vor der Installation des 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 das CTS Verifier APK für die zu testende Android-Version herunter.
Verbinden Sie das DUT mit dem Linux-Computer.
Installieren Sie
CtsVerifier.apk
von einem Terminal auf dem Linux-Computer 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, um das Speichern von Berichten in einem selbst definierten Verzeichnis unter dem externen Top-Level-Verzeichnis des Geräts zu ermöglichen.
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 zu ermöglichen.
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
Stellen Sie sicher, dass das Systemdatum und die Uhrzeit des Prüflings korrekt eingestellt sind.
Führen Sie CTS Verifier aus
Starten Sie die CTS Verifier-Anwendung, indem Sie auf dem DUT auf das CTS Verifier-Symbol tippen.
Abbildung 1. CTS Verifier-Symbol
Die App zeigt mehrere Testsätze an, die zur manuellen Überprüfung verfügbar sind.
Abbildung 2. CTS Verifier-Testmenü
Jeder Test enthält eine Reihe gemeinsamer Elemente am unteren Bildschirmrand.
Abbildung 3. Testbildschirm mit hervorgehobenen allgemeinen Testelementen
- Bestehen ( ✓ ). Tippen Sie auf, wenn der Prüfling die Testanforderungen gemäß den Info-Anweisungen erfüllt.
- Infos (?). Tippen Sie hier, um Testanweisungen anzuzeigen. Erscheint auch automatisch beim ersten Öffnen eines Tests.
- Scheitern (!). Tippen Sie auf, wenn der Prüfling 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 Programm des USB-Desktop-Computers (Host) 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 angezeigt wird, und wählen Sie dann OK aus.
Abbildung 6. USB-Zubehörtest
Gehen Sie zum USB-Zubehörtest in der CTS Verifier-Anwendung 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
Kalibrieren Sie das Sichtfeld der Kamera
Verwenden Sie das Sichtfeldkalibrierungsverfahren, um das Sichtfeld des Geräts schnell und mit mäßiger Genauigkeit zu bestimmen.
Richten Sie die Testumgebung ein:
- Drucken Sie die Zieldatei „Kalibrierungsmuster.pdf“ auf Papier im Format 11 x 17 Zoll oder A3.
- Montieren Sie das gedruckte Muster auf einer starren Unterlage.
Richten Sie die Kamera 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 aus.
- Messen Sie den Abstand zum Zielmuster (~100 cm) und geben Sie ihn ein.
- Drücken Sie die Zurück-Taste, um zur Kalibrierungsvorschau zurückzukehren.
Stellen Sie sicher, dass das Gerät und das Ziel wie in der Abbildung gezeigt platziert sind und dass die richtigen Abstände in den Einrichtungsdialog eingegeben wurden. In der Vorschau wird das Bild mit einer überlagerten vertikalen Linie angezeigt. 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 aus (mit 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 über das Bild gelegten vertikalen Linien an.
- Genauigkeit ermitteln:
- Wenn die Linien innerhalb weniger Zentimeter mit den vertikalen Linien auf dem Zielmuster übereinstimmen, ist das gemeldete Sichtfeld für die ausgewählte Auflösung genau.
- Wenn die Linien nicht übereinstimmen, ist das gemeldete Sichtfeld ungenau. Um dies zu korrigieren, passen Sie den Schieberegler am unteren Bildschirmrand an, bis die Überlagerung so genau wie möglich mit dem Zielmuster übereinstimmt. Wenn die Überlagerung und das Zielmusterbild ausgerichtet sind, entspricht das angezeigte Sichtfeld nahezu dem 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 Versionen 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 in CTS Verifier wird eine Schaltfläche angezeigt, mit der Benutzer zwischen dem aufgeklappten und dem gefalteten Anzeigemodus wechseln können. CTS Verifier zeigt die notwendigen Tests für den ausgewählten Anzeigemodus an. Um die alternativen Modi in CTS Verifier auszuführen, sollte man die Schaltfläche in den entsprechenden Anzeigemodus schalten und die Liste der angezeigten Tests ausführen.
Die Ergebnisse der gefalteten Tests werden im selben Bericht wie die der ungefalteten Tests aufgezeichnet. Um jedes Testergebnis zu identifizieren, aus dem der Testsatz 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 Speichersymbol (Datenträger).
Warten Sie auf eine Popup-Meldung, die den Dateipfad zum gespeicherten Bericht anzeigt (z. B.
/sdcard/verifierReports/ctsVerifierReport-date-time.zip
), und notieren Sie dann den Pfad.Verbinden Sie das DUT mit dem Linux-Computer.
Laden Sie von der Android SDK-Installation auf dem Linux-Computer Berichte vom angeschlossenen Gerät herunter, indem Sie
adb shell content read
oderadb pull CTSVerifierReportPath
verwenden.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/
Für Android 10 und höher, die Automotive implementieren und Geräte, die als sekundärer Benutzer ausgeführt werden, laden Sie 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 im 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 .