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. Vergewissern Sie sich, dass Sie die aktuellen Versionen von beiden Android Debug Bridge (ADB) und Android Asset Packaging Tool (AAPT) und den Speicherort dieser Tools zum Systempfad Ihres Computers hinzugefügt. Informationen zur Installation dieser Tools finden Sie unter CTS einrichten: ADB und AAPT
  3. Laden Sie die veröffentlichten CTS-Builds auf Ihr Linux-Hostcomputer und entpacken Sie den Build am Hoststandort.
  4. Schließen Sie mindestens ein Gerät an. So bereiten Sie den DUT vor: <ph type="x-smartling-placeholder">
      </ph>
    • Drücken Sie die Startbildschirmtaste, um das Gerät zum Startbildschirm zu verschieben.
    • 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 keine Tasten auf dem Gerät, während CTS läuft. Pressen Tasten oder das Berühren des Bildschirms eines DUT stört die laufenden Tests. und zu Testfehlern führen kann.
  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 Testausführungszeit verbessern möchten, können Sie die Tests aufteilen auf mehreren Geräten. Bei der Fragmentierung muss der Host mindestens eine Verbindung herstellen Zwei Geräte, aus Effizienzgründen werden jedoch mindestens sechs Geräte empfohlen. Wenn du mehr als ein Gerät fragmentierst:

      • Verwenden Sie ab Android 9 die Befehlsoption.

        --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 CTS-Abo Ihrer Wahl der Befehlszeile:

      run cts --plan test_plan_name

      So finden Sie den Namen des Testplans:

      • Wenn Sie unter Android 7.0 und höher eine Liste der Testmodule aufrufen möchten, geben Sie

        list modules
      • Unter Android 6.0 und niedriger können Sie eine Liste der Testpläne in der Repository, geben Sie

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

        list packages
    • Zusätzliche Befehlsoptionen je nach CTS-Version finden Sie in der Referenz für Console-Befehle oder unter „Allen helfen“ in der Tradefed-Konsole.

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

    • Verwenden Sie 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

    • Weitere Informationen zur Implementierung von CTS-Wiederholungen finden Sie unter Trade Federation Suite-Wiederholen.

  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. In der Konsole können Sie sich den Testfortschritt und die Ergebnisse ansehen.

CTS mit der Android Test Station ausführen

Android Test Station ist ein Testautomatisierungstool, das Android-Entwickler und Ingenieure können eine Benutzeroberfläche zur Durchführung von Standardtests verwenden. Suiten. 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 ermöglicht die DeviceStateManager API Testmodule mit Konfigurationsoption, die auf verschiedenen Gerätestatus eines faltbaren Geräts ausgeführt werden kann. 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" />

Tests auf mehreren Geräten mit CTS

Android 13 und höher unterstützen Tests für mehrere Geräte. Tests, für die mehrere Geräte erforderlich sind, werden während der CTS-Ausführung 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 siehe Mehrere Geräte Suiten:

Tests für mehrere Geräte ausführen

Um Tests für mehrere Geräte unabhängig durchzuführen, verwenden Sie den folgenden Code:

  cts-tradefed > run cts-multidevice
  

Alle regulären Optionen werden unterstützt. Fügen Sie zur Ausrichtung auf bestimmte Geräte --serial <serial1> --serial <serial2> usw. für die Anzahl der Geräte ausgerichtet sind.

Wenn Tests für mehrere Geräte automatisch ausgelöst werden sollen, verwende die Fragmentierung wie in --shard-count 2.