Automatisierte CTS-Tests einrichten

Bevor Sie automatisierte CTS-Tests ausführen können, müssen Sie Ihre physische Umgebung vorbereiten, Ihre Workstation einrichten und das zu testende Gerät konfigurieren.

Physische Umgebung einrichten

Für bestimmte CTS-Tests müssen externe Geräte in der Nähe des DUT eingerichtet werden. So richten Sie Ihre physische Umgebung ein:

  1. Optional: Wenn Ihr DUT Bluetooth LE unterstützt, platzieren Sie mindestens drei Bluetooth LE-Beacons in einem Umkreis von 5 Metern um das DUT, um Bluetooth LE-Scantests durchzuführen. Zusätzlich:

    • Die Beacons müssen nicht konfiguriert werden und senden auch keine speziellen Daten.
    • Die Beacons können beliebiger Art sein, z. B. iBeacons, Eddystone oder sogar Geräte, die BLE-Beacons simulieren.
  2. Platzieren Sie das Smartphone vor einer Szene wie einer Wand oder der Decke in einem Abstand, der der Mindestfokusdistanz des Geräts entspricht. Zusätzlich:

    • Die Szene muss ausreichend beleuchtet sein, damit die getesteten Sensoren die in CONTROL_AE_TARGET_FPS_RANGE angegebene maximale Anzahl von Bildern pro Sekunde (FPS) erreichen und beibehalten können.
    • Diese Einrichtung gilt für alle Kamerasensoren, die von getCameraIdList gemeldet werden, da der Test die aufgeführten Geräte durchläuft und die Leistung einzeln misst.
    • Wenn das DUT externe Kameras wie USB-Webcams unterstützt, schließen Sie beim Ausführen des CTS eine externe Kamera an. Andernfalls schlagen die CTS-Tests fehl.
  3. Optional: Wenn Ihr DUT ein Global Positioning System (GPS) oder ein anderes Global Navigation Satellite System (GNSS) unterstützt, stellen Sie dem DUT ein GNSS-Signal mit einer geeigneten Signalstärke für den Empfang und die Standortberechnung zur Verfügung. Zusätzlich:

    • Das GPS muss ICD-GPS-200C entsprechen.
    • Das GNSS-Signal kann beliebiger Art sein, z. B. ein Satellitensimulator oder ein Repeater für Outdoor-Signale.
    • Sie können das DUT in der Nähe eines Fensters platzieren, damit es direkt genügend GNSS-Signale von einem Satelliten empfangen kann.
  4. Ihr WLAN muss IPv4 und IPv6 unterstützen, eine Internetverbindung mit DNS für IPv4 und IPv6 haben, IP-Multicast unterstützen und die DUT als isolierten Client behandeln können.

    Wenn Sie keinen Zugriff auf ein natives IPv6-Netzwerk, ein IPv6-Mobilfunkanbieternetzwerk oder ein VPN haben, um IPv6-Tests zu bestehen, verwenden Sie einen WLAN-Zugangspunkt und einen IPv6-Tunnel.

  5. Achten Sie darauf, dass die DUT die Flags UP, BROADCAST und MULTICAST für die WLAN-Schnittstelle festgelegt hat.

  6. Achten Sie darauf, dass der WLAN-Schnittstelle IPv4- und IPv6-Adressen zugewiesen sind. Führen Sie adb shell ifconfig aus, um die Eigenschaften der WLAN-Schnittstelle zu prüfen.

  7. Optional: Wenn Ihr DUT Wi‑Fi STA oder STA-Parallelität unterstützt, richten Sie mindestens zwei WLANs ein. Diese WLANs müssen auf verschiedenen Bändern mit unterschiedlichen SSIDs oder auf derselben SSID mit unterschiedlichen BSSIDs ausgeführt werden.

  8. Optional: Wenn Ihr DUT die WLAN-Umlaufzeit (RTT) unterstützt, richten Sie ein Gerät ein, das die WLAN-RTT unterstützt:

    1. Platzieren Sie das WLAN-RTT-Gerät maximal 12 Meter vom DUT entfernt.
    2. Schalten Sie das WLAN-RTT-Gerät ein.

    Hier sind zwei empfohlene Geräte, die Wi‑Fi RTT unterstützen: - Google Wifi - Fitlet2-Zugangspunkt von Compulab (auf 40 MHz Bandbreite bei 5 GHz eingestellt)

Computer einrichten

Bevor Sie die automatisierten CTS-Tests ausführen, prüfen Sie, ob Ihr Computer die Hardware- und Betriebssystemanforderungen erfüllt und die richtige Software installiert ist, wie in den folgenden Abschnitten beschrieben.

Hardwareanforderungen erfüllen

Ihr CTS-Desktopcomputer sollte die folgenden Hardwareanforderungen erfüllen oder übertreffen:

  • Ein 64-Bit-x86-System

  • Mindestens 256 GB freier Speicherplatz, um der erhöhten Anzahl von CTS-Testfällen und einer Erhöhung der Java-Heap-Speicherreservierung in Tradefed gerecht zu werden

  • Mindestens 32 GB RAM

Anforderungen an das Betriebssystem erfüllen

Auf Ihrem Entwicklungscomputer muss eine 64-Bit-Linux-Distribution mit GNU C Library (glibc) 2.17 oder höher ausgeführt werden.

Desktopsoftware installieren

So installieren Sie die richtige Desktopsoftware für CTS:

  1. Installiere das FFmpeg-Paket in Version 5.1.3 oder höher.

  2. Installieren Sie die neuesten Versionen von Android Debug Bridge (adb) und Android Asset Packaging Tool (AAPT2) und fügen Sie den Speicherort dieser Tools dem Systempfad Ihres Computers hinzu:

    1. Folgen Sie der Anleitung am Anfang der SDK Manager-Dokumentation, um das sdkmanager-Befehlszeilentool zu installieren. Der Link zum Herunterladen der Befehlszeilentools befindet sich unten auf der Downloadseite für Android Studio im Abschnitt Nur Befehlszeilentools.
    2. Aktualisieren Sie den Systempfad, um den Speicherort der neu installierten sdkmanager aufzunehmen.
    3. Installieren Sie mit sdkmanager die neuesten platform-tools- und build-tools-Pakete. Diese Pakete enthalten adb und AAPT2. Informationen zum Installieren von Paketen finden Sie unter Pakete installieren.
    4. Aktualisieren Sie den Pfad, um den Speicherort der neu installierten Tools „adb“ und „AAPT2“ anzugeben.
    5. Prüfen Sie, ob adb und AAPT2 in Ihrem Pfad sind.
  3. Installieren Sie die richtige Version des Java Development Kits (JDK):

  4. Optional: Installieren Sie unter Android 13 oder höher virtualenv. Das virtualenv-Tool ist für Tests auf mehreren Geräten erforderlich.

  5. Geben Sie python3 ein, um zu prüfen, ob Python installiert ist. Die Python-Version und das Installationsdatum sollten angezeigt werden, um zu bestätigen, dass Python ordnungsgemäß installiert ist.

  6. Laden Sie die CTS-Pakete aus den CTS-Downloads herunter und öffnen Sie sie. Sie müssen mit der Android-Version Ihrer Geräte und allen von ihnen unterstützten Anwendungs-Binärschnittstellen (Application Binary Interfaces, ABIs) übereinstimmen.

  7. Lade die neueste Version der CTS-Mediendateien herunter und öffne sie. Die Mediendateien enthalten Videoclips aus Big Buck Bunny, die der Blender Foundation unter der Creative-Commons-Lizenz „Namensnennung 3.0“ unterliegen.

  8. Optional: Wenn Sie CTS zum ersten Mal ausführen, werden einige CTS-Dateien, die sich auf die Mainline beziehen, dynamisch heruntergeladen. Je nach Netzwerkgeschwindigkeit verlängert sich die CTS-Laufzeit durch diesen Download um mindestens 10 Minuten.

    Um diese zusätzliche CTS-Laufzeit zu vermeiden, können Sie die CTS-Dateien für die Mainline herunterladen, bevor Sie CTS ausführen. Informationen zum Herunterladen der CTS-Dateien für die Mainline findest du unter CTS-Dateien für die Mainline herunterladen.

DUT vorbereiten

Nachdem Sie Ihren Computer eingerichtet haben, müssen Sie das DUT einrichten und konfigurieren.

DUT einrichten

So richten Sie das DUT ein:

  1. Achten Sie darauf, dass auf dem DUT ein System-Image ausgeführt wird, das auf dem als kompatibel bekannten Nutzer-Build (Android 4.0 oder höher) aus Codenamen, Tags und Build-Nummern basiert und die Buildvariante user verwendet. Weitere Informationen zu Buildvarianten finden Sie unter Ziel auswählen.

  2. Wenn auf dem DUT Android 13 oder höher ausgeführt wird, muss ro.product.first_api_level im Build auf das API-Level festgelegt sein, mit dem das Gerät auf den Markt gebracht wurde. Um diesen Wert festzulegen, nehmen Sie die folgende Änderung an der Datei device.mk vor:

    PRODUCT_SHIPPING_API_LEVEL := 21
    

    Bestimmte CTS-Anforderungen hängen von der Build-Version ab, mit der ein Gerät ursprünglich ausgeliefert wurde. So können beispielsweise Geräte, die ursprünglich mit früheren Builds ausgeliefert wurden, von den Systemanforderungen ausgeschlossen werden, die für Geräte gelten, die mit neueren Builds ausgeliefert wurden. Gültige Werte auf API-Ebene finden Sie unter Codenamen, Tags und Build-Nummern. Weitere Informationen zu ro.product.first_api_level finden Sie unter API-Ebene des Anbieters.

    Informationen zu Android 10 oder niedriger finden Sie unter CTS einrichten (AOSP 10 oder niedriger).

  3. Wenn Ihr Gerät die APEX-Paketverwaltung unterstützt:

    1. Laden Sie das APEX-Shim-Paket für Ihre spezifische Android-Version und Hardwarearchitektur herunter. Die beiden linken Spalten in der Tabelle Shim-Pakete enthalten Links zum Download des Pakets.
    2. Kopieren Sie das heruntergeladene Paket in /system/apex.
    3. Benennen Sie die Datei in com.android.apex.cts.shim.apex um.
  4. Wenn Ihr Gerät die APEX-Paketverwaltung nicht unterstützt:

    1. Laden Sie die APEX-Shims für Ihre spezifische Android-Version und Hardwarearchitektur herunter. Die beiden rechten Spalten in der Tabelle Shim-Pakete enthalten Links zu den herunterladbaren Paketen.
    2. CtsShim.apk nach /system/app/ kopieren
    3. Benennen Sie CtsShim.apk in CtsShimPrebuilt.apk um.
    4. CtsShimPriv.apk nach /system/priv-app/ kopieren
    5. Benennen Sie CtsShimPriv.apk in CtsShimPrivPrebuilt.apk um.
  5. Wenn Ihr Gerät mehr als ein Secure Element meldet:

    1. google-cardlet.cap herunterladen
    2. Kopieren Sie die heruntergeladene Datei in /data/uicc/cardlets/.
  6. Wenn Ihr Gerät mehr als ein Secure Element meldet, installieren Sie das Beispiel-Applet im eingebetteten Secure Element (eSE) des DUT oder auf der von ihm verwendeten SIM-Karte. Weitere Informationen finden Sie unter CTS-Test für Secure Element.

  7. Wenn Ihr Gerät kein integriertes Display hat, schließen Sie ein Display an das Gerät an.

  8. Wenn das Gerät einen Speicherkartensteckplatz hat, stecken Sie eine leere SD-Karte ein. Verwenden Sie eine SD-Karte, die einen UHS-Bus (Ultra High Speed) mit SDHC- oder SDXC-Kapazität oder eine Karte mit der Geschwindigkeitsklasse 10 oder höher unterstützt, damit sie den CTS bestehen kann.

  9. Wenn das Gerät SIM-Kartensteckplätze hat, legen Sie in jeden Steckplatz eine aktivierte SIM-Karte ein. Wenn das Gerät SMS unterstützt, muss für jede SIM-Karte ein eigenes Nummernfeld ausgefüllt sein. Auf Geräten mit Android 12 oder höher müssen alle SIM-Karten die Speicherung von Kurzwahlnummern unterstützen. GSM- und USIM-Karten mit der speziellen Datei für Telekommunikation (DFTelecom) erfüllen diese Anforderung.

  10. Achten Sie darauf, dass sich in Ihrem Gerät eine SIM-Karte mit CTS-Berechtigungen des Mobilfunkanbieters befindet, die den Anforderungen in UICC vorbereiten entsprechen.

DUT konfigurieren

Führen Sie die folgenden Schritte aus, um das DUT für die Verwendung mit CTS zu konfigurieren.

Auf dem DUT:

  1. Setzen Sie das Gerät auf die Werkseinstellungen zurück.

  2. Legen Sie die Sprache des Geräts auf Englisch (USA) fest.

  3. Wenn das Gerät die Anpassung von Standardschriften unterstützt, muss die Standardschriftart ohne Serifen auf Roboto festgelegt sein.

  4. Wenn das Gerät eine GPS-, WLAN- oder Mobilfunkfunktion hat, aktivieren Sie die Standorteinstellung.

  5. Stellen Sie eine Verbindung zu einem WLAN her, das IPv6 unterstützt, die DUT als isolierten Client behandeln kann und eine Internetverbindung hat. Eine Erklärung zu isolierten Clients finden Sie unter Physische Umgebung einrichten.

  6. Achten Sie darauf, dass kein Sperrmuster oder Passwort festgelegt ist.

  7. Aktivieren Sie das USB-Debugging:

    1. Gehen Sie zu Einstellungen > Über das Telefon und tippen Sie siebenmal auf Build-Nummer. Die Entwickleroptionen werden in der Kategorie System angezeigt.

    2. Tippen Sie auf USB-Debugging.

    Informationen zum Aktivieren des USB-Debuggings unter Android 10 oder niedriger finden Sie unter CTS einrichten (AOSP 10 oder niedriger).

  8. Stellen Sie die Uhrzeit auf das 12-Stunden-Format ein.

  9. Aktivieren Sie Entwickleroptionen > Inaktivieren Sie den Ruhemodus.

  10. So deaktivieren Sie die USB-App-Überprüfung:

    1. Gehen Sie zu Entwickleroptionen.

    2. Tippen Sie auf Über USB installierte Apps prüfen.

  11. Aktivieren Sie unter Android 13 oder höher das Mock-Modem:

    1. Gehen Sie zu Entwickleroptionen.

    2. Tippen Sie auf Mock-Modem zulassen.

    Diese Einstellung ist für bestimmte Telefontests erforderlich.

Auf dem Computer:

  1. Starten Sie den Browser und schließen Sie alle Start- oder Einrichtungsbildschirme.

  2. Verbinden Sie das DUT über ein USB-Kabel mit dem Computer.

  3. Wenn Sie vom System aufgefordert werden, einen RSA-Schlüssel zu akzeptieren, der das Debuggen über diesen Computer ermöglicht, klicken Sie auf USB-Debugging zulassen.

  4. Legen Sie Roboto2 als serifenlose Schriftart fest. Verwenden Sie dazu eine Einstellung, die für Nutzer zugänglich ist (nicht ausgeblendet).

  5. Kopieren Sie die CTS-Mediendateien auf das DUT:

    1. Rufe (cd) den Pfad auf, unter dem die Mediendateien heruntergeladen und entpackt werden.
    2. Ändern Sie die Dateiberechtigungen:

      chmod u+x copy_media.sh
      
    3. Kopieren Sie die Dateien:

      • Wenn du Clips mit einer Auflösung von bis zu 720 × 480 Pixeln kopieren möchtest, führe Folgendes aus:

        ./copy_media.sh 720x480
      • Wenn Sie sich nicht sicher sind, welche Auflösung maximal möglich ist, kopieren Sie alle Dateien:

        ./copy_media.sh all
      • Wenn es mehrere DUTs gibt, fügen Sie am Ende die Serienoption (-s) eines bestimmten Geräts hinzu. Wenn du beispielsweise bis zu 720 × 480 auf das Gerät mit der Seriennummer 1234567 kopieren möchtest, führe Folgendes aus:

        ./copy_media.sh 720x480 -s 1234567

CTS-Dateien für Mainline herunterladen

So laden Sie die CTS-Dateien für die Mainline herunter:

  1. So rufen Sie die Android-API-Ebene auf dem Gerät ab:

    adb shell getprop ro.build.version.sdk
    
  2. Folgen Sie der Anleitung im download_mcts.sh-Script, um die Mainline-CTS-Dateien herunterzuladen.

    Je nach Netzwerkgeschwindigkeit dauert der Download mindestens 10 Minuten.

Shim-Pakete

In der folgenden Tabelle sind die für jede Geräteversion und -architektur verfügbaren Pakete aufgeführt:

Geräteversion Pakete (falls APEX unterstützt wird) Pakete (falls APEX nicht unterstützt wird)
SCHARF SCHALTEN x86 SCHARF SCHALTEN x86
Android 15 15-arm-release android15-x86-release android15-arm-CtsShim.apk

android15-arm-CtsShimPriv.apk

android15-x86-CtsShim.apk

android15-x86-CtsShimPriv.apk

Android 14 android14-arm-release android14-x86-release android14-arm-CtsShim.apk

android14-arm-CtsShimPriv.apk

android14-x86-CtsShim.apk

android14-x86-CtsShimPriv.apk

Android 13 android13-arm-release android13-x86-release android13-arm-CtsShim.apk

android13-arm-CtsShimPriv.apk

android13-x86-CtsShim.apk

android13-x86-CtsShimPriv.apk

Android 12 android12-arm-release android12-x86-release android12-arm-CtsShim.apk

android12-arm-CtsShimPriv.apk

android12-x86-CtsShim.apk

android12-x86-CtsShimPriv.apk

Android 11 android11-arm-release android11-x86-release android11-arm-CtsShim.apk

android11-arm-CtsShimPriv.apk

android11-x86-CtsShim.apk

android11-x86-CtsShimPriv.apk

Android 10 android10-release android10-arm-CtsShim.apk

android10-arm-CtsShimPriv.apk

android10-x86-CtsShim.apk

android10-x86-CtsShimPriv.apk

Android 9, O und O-MR1 arm-CtsShim.apk

arm-CtsShimPriv.apk

x86-CtsShim.apk

x86-CtsShimPriv.apk

Wie geht es weiter?

Lesen Sie nach diesem Dokument den Abschnitt Automatisierte CTS-Tests ausführen.