CTS-Tests ausführen

Trade Federation ist ein kontinuierliches Test-Framework für die Durchführung von Tests auf Android. Geräte. Um die Kompatibilitätstest-Suite (Kompatibilitätstest-Suite, CTS) auszuführen, lesen Sie zuerst die Trade Federation – Übersicht für ein Erläuterung des Tradefed-Test-Frameworks

So führen Sie einen Testplan aus:

  1. Richten Sie die zu testenden Geräte gemäß Einrichtung von Android-Geräten
  2. Sie müssen die neuesten Versionen von Android Debug Bridge (adb) und Android Asset Packaging Tool (AAPT) installiert und den Speicherort dieser Tools dem Systempfad Ihres Computers hinzugefügt haben. Informationen zur Installation dieser Tools finden Sie unter CTS einrichten: ADB und AAPT
  3. Laden Sie die veröffentlichten CTS-Builds auf Ihren Linux-Hostcomputer herunter und entpacken Sie den Build an den gewünschten Speicherort.
  4. Schließen Sie mindestens ein Gerät an. So bereiten Sie den DUT vor:
    • Drücken Sie die Startbildschirmtaste, um den Startbildschirm aufzurufen.
    • Verwenden Sie den DUT nicht für andere Aufgaben.
    • Den DUT in einer festen Position halten, damit der Sensor nicht ausgelöst wird Aktivitäten.
    • Richten Sie die Kamera des Geräts auf ein Objekt, das fokussiert werden kann.
    • Drücken Sie während der Ausführung des CTS keine Tasten auf dem Gerät. Wenn Sie Tasten drücken oder den Bildschirm einer DUT berühren, wird der laufende Test unterbrochen und es kann zu Testfehlern kommen.
  5. Starten Sie das Skript cts-tradefed der CTS-Konsole von dem Ordner aus, in dem sich die CTS-Datei befindet. Paket wurde entpackt. Führen Sie in der Befehlszeilen-Shell des Hosts folgenden Befehl aus:

    ./android-cts/tools/cts-tradefed
  6. Führe den Standardtestplan aus (enthält alle Testpakete):

    cts-tradefed > run cts
    • Wenn Sie die Ausführungszeit der Tests verbessern möchten, können Sie die Tests auf mehrere Geräte verteilen. Für das Sharding muss der Host mindestens zwei Geräte verbinden. Aus Gründen der Effizienz werden jedoch mindestens sechs Geräte empfohlen. Wenn du mehr als ein Gerät fragmentierst:

      • Unter Android 9 und höher: Befehlsoption verwenden

        --shard-count number_of_shards
      • Verwenden Sie unter Android 8.1 und niedriger die Befehlsoption.

        --shards number_of_shards
    • Wenn Sie nicht die gesamte Testsuite ausführen möchten, können Sie den gewünschten CTS-Plan über die Befehlszeile ausführen:

      run cts --plan test_plan_name

      So finden Sie den Namen des Testplans:

      • Unter Android 7.0 und höher können Sie eine Liste der Testmodule aufrufen, indem Sie

        list modules
      • Bei Android 6.0 und niedriger: Geben Sie Folgendes ein, um eine Liste der Testpläne im Repository aufzurufen:

        list plans
      • Unter Android 6.0 und niedriger können Sie eine Liste der Testpakete in der Repository, geben Sie

        list packages
    • Weitere Befehlsoptionen, die von der CTS-Version abhängen, finden Sie in der Referenz zu Befehlszeilen oder in der Tradefed-Konsole unter „help all“.

  7. Führen Sie mehrere Wiederholungssitzungen durch, bis alle Testmodule abgeschlossen sind und Die Anzahl der Testfehler war in den letzten beiden Wiederholungssitzungen identisch.

    • Für Android 9 und höher:

      run retry --retry session_number --shard-count number_of_shards
    • Verwenden Sie für Android 7.0 bis 8.1

      run cts --retry session_number --shards number_of_shards
    • Zusätzliche Optionen für den Befehl „Wiederholen“ je nach CTS-Version finden Sie unter CTS v2-Befehlskonsole

    • Implementierungsdetails für CTS-Wiederholungen finden Sie unter Trade Federation Suite-Wiederholung.

  8. Eine Wiederholungssitzung nur für fehlgeschlagene parametrisierte Tests ausführen. Bestanden werden parametrisierte Tests nicht wiederholt.

    • Für Android 11 und höher ist die folgende Option für den Wiederholungsbefehl aktiviert standardmäßig im Befehl run cts:

      run retry --retry  --new-parameterized-handling
  9. Sie können den Testfortschritt und die in der Console gemeldeten Ergebnisse einsehen.

CTS mit der Android Test Station ausführen

Android Test Station ist ein Tool zur Testautomatisierung, mit dem Android-Entwickler und ‑Testingenieure eine Benutzeroberfläche zum Ausführen von Standard-Test-Suiten verwenden können. Funktioniert mit der Android Compatibility Test Suite (CTS)

Das Tool ist öffentlich verfügbar über ATS-Nutzerhandbuch und der Code ist Open Source in AOSP. (multitest_transport, tradefed_cluster).

CTS für alternative Modi ausführen

CTS 10 R4 enthält einen Testplan für Geräte mit alternativen Modi oder für Geräte mit mehr als einem Bildschirm. Testplan für alternative Modi ausführen mit run cts-foldable

Bestandene oder fehlgeschlagene Testläufe für den alternativen Bildschirmmodus werden mit dem Wert aus display_mode, z. B. testcase1[display_mode=0].

In CTS 13 können mit der DeviceStateManager API Testmodule mit der folgenden Konfigurationsoption in verschiedenen Gerätestatus eines faltbaren Geräts ausgeführt werden. Die Testausführung erfolgt in CTS automatisch basierend auf dem Faltstatus des Displays auf dem Gerät definiert ist, ohne dass der cts-foldable-Testplan ausgeführt werden muss.

<option name="config-descriptor:metadata" key="parameter" value="all_foldable_states" />

Mehrgerätetests in der CTS

Android 13 und höher unterstützen Multi-Device-Tests. Tests, für die mehrere Geräte erforderlich sind, werden während des CTS-Laufs automatisch ausgeführt. CTS 13 enthält einige Tests für mehrere Geräte, die beim Sharding automatisch ausgelöst werden verwendet wird. Für Tests sind zwar keine zusätzlichen Änderungen an der physischen Einrichtung erforderlich, virtualenv muss installiert sein damit die Tests korrekt ausgeführt werden. Weitere Informationen finden Sie unter Suites für mehrere Geräte.

Tests für mehrere Geräte durchführen

Wenn Sie mehrere Geräte unabhängig voneinander testen möchten, verwenden Sie den folgenden Code:

  cts-tradefed > run cts-multidevice
  

Alle regulären Optionen werden unterstützt. Wenn Sie die Ausrichtung auf bestimmte Geräte festlegen möchten, fügen Sie für die Anzahl der Geräte, auf die Sie Ihre Anzeigen ausrichten möchten, --serial <serial1> --serial <serial2> hinzu.

Wenn Sie Multigerätetests automatisch auslösen möchten, verwenden Sie das Sharding, wie in --shard-count 2.