Verwenden von CTS Verifier

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.

Konfiguration

Ändern Sie den Systemnavigationsmodus des Testgeräts wie folgt in den Drei-Tasten-Modus:

  1. Einstellungen öffnen.
  2. Navigieren Sie zu System > Gesten > Systemnavigation .
  3. Wählen Sie einen beliebigen tastenbasierten Navigationsmodus, vorzugsweise den Drei-Tasten-Modus, falls verfügbar.

So richten Sie die CTS Verifier-Testumgebung ein:

  1. 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.

  2. Verbinden Sie das DUT mit dem Linux-Computer.

  3. Installieren Sie von einem Terminal auf dem Linux-Computer CtsVerifier.apk auf dem DUT.

    adb install -r -g CtsVerifier.apk
    
  4. 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
    
  5. 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
    
  6. 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.

CTS Verifier-Symbol im Launcher

Abbildung 1. CTS Verifier-Symbol

Die App zeigt mehrere Testreihen an, die zur manuellen Überprüfung verfügbar sind.

CTS Verifier Testmenü

Abbildung 2. Testmenü des CTS Verifier

Jeder Test enthält eine Reihe gemeinsamer Elemente am unteren Rand des Bildschirms.

Überprüfung der Qualität von Streaming-Videos

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

CTS Verifier USB-Zubehörtest

Abbildung 4. Testverfahren für USB-Zubehör für 8.0 und höher

CTS Verifier USB-Zubehörtest

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.

  1. Verbinden Sie das DUT mit dem Linux-Computer.
  2. Führen Sie auf dem Computer das Programm cts-usb-accessory aus dem CTS Verifier-Paket aus:

    ./cts-usb-accessory
  3. Warten Sie, bis eine Popup-Meldung auf dem DUT erscheint, und wählen Sie dann OK .
    CTS Verifier USB-Zubehörtest

    Abbildung 6. USB-Zubehörtest

  4. Gehen Sie zum USB-Zubehörtest in der Anwendung CTS Verifier auf dem DUT.

  5. Ü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.

  1. Richten Sie die Testumgebung ein:

    1. Drucken Sie die Zieldatei „ calibration-pattern.pdf “ auf Papier im Format 11 x 17 Zoll oder A3.
    2. Montieren Sie das gedruckte Muster auf einer starren Unterlage.
    3. Richten Sie das Kameragerät und das gedruckte Ziel wie in der folgenden Abbildung gezeigt aus.
      Kamera gedrucktes Ziel

      Abbildung 7. Von der Kamera gedrucktes Ziel

  2. Legen Sie die Zielbreite fest:

    1. Messen Sie den Abstand (in Zentimetern) zwischen den durchgezogenen Linien auf dem Zielmuster, um Druckungenauigkeiten zu berücksichtigen (~38 cm).
    2. Starten Sie die Kalibrierungsanwendung.
    3. Drücken Sie die Setup-Taste und wählen Sie Markierungsabstand .
    4. Messen und geben Sie den Abstand zum Zielmuster ein (~100 cm).
    5. Drücken Sie die Zurück-Taste, um zur Kalibrierungsvorschau zurückzukehren.
  3. 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.

  4. Führen Sie den Kalibrierungstest durch:

    1. 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.
    2. 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.
    3. 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.

CTS-V-Kippschalter

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.

  1. Um Ihre Testergebnisse zu speichern, tippen Sie oben in der Liste der Testkategorien auf das Symbol „Speichern“ (Diskette).

  2. 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.

  3. Verbinden Sie das DUT mit dem Linux-Computer.

  4. Laden Sie von der Android SDK-Installation auf dem Linux-Computer Berichte vom verbundenen Gerät mit adb shell content read oder adb 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
      
  5. 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 .