Führen Sie CTS-Tests durch

Trade Federation ist ein kontinuierliches Test-Framework zum Ausführen von Tests auf Android-Geräten. Um die Compatibility Test Suite (CTS) auszuführen, lesen Sie zunächst die Trade Federation-Übersicht , um eine Erläuterung des Tradefed-Test-Frameworks zu erhalten.

So führen Sie einen Testplan aus:

  1. Richten Sie zu testende Geräte (DUTs) gemäß der Android-Geräteeinrichtung ein.
  2. Stellen Sie sicher, dass Sie die neuesten Versionen von Android Debug Bridge (adb) und Android Asset Packaging Tool (AAPT) installiert und den Speicherort dieser Tools zum Systempfad Ihres Computers hinzugefügt haben. Informationen zur Installation dieser Tools finden Sie unter Einrichten von CTS: ADB und AAPT.
  3. Laden Sie die veröffentlichten CTS-Builds auf Ihren Linux-Hostcomputer herunter und entpacken Sie den Build an den Host-Speicherort.
  4. Schließen Sie mindestens ein Gerät an. So bereiten Sie den Prüfling vor:
    • Drücken Sie die Home- Taste, um das Gerät auf den Startbildschirm einzustellen.
    • Benutzen Sie den Prüfling nicht für andere Aufgaben.
    • Halten Sie den Prüfling in einer stationären Position, um eine Auslösung von Sensoraktivitäten zu vermeiden.
    • Richten Sie die Kamera des Geräts auf ein Objekt, das fokussiert werden kann.
    • Drücken Sie keine Tasten am Gerät, während das CTS läuft. Das Drücken von Tasten oder das Berühren des Bildschirms eines Prüflings stört die laufenden Tests und kann zu Testfehlern führen.
  5. Starten Sie das cts-tradefed -Skript der CTS-Konsole aus dem Ordner, in den das CTS-Paket entpackt wurde. Führen Sie in der Befehlszeilen-Shell des Hosts Folgendes aus:

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

    cts-tradefed > run cts
    • Wenn Sie die Testausführungszeit verbessern möchten, können Sie die Tests auf mehrere Geräte verteilen . Beim Sharding muss der Host mindestens zwei Geräte verbinden, aus Effizienzgründen werden jedoch sechs oder mehr Geräte empfohlen. Beim Sharding von mehr als einem Gerät:

      • Verwenden Sie für Android 9 und höher die Befehlsoption

        --shard-count number_of_shards
      • Verwenden Sie für 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-Plan Ihrer Wahl über die Befehlszeile ausführen:

      run cts --plan test_plan_name

      So finden Sie den Namen des Testplans:

      • Geben Sie für Android 7.0 und höher ein, um eine Liste der Testmodule anzuzeigen

        list modules
      • Geben Sie für Android 6.0 und niedriger ein, um eine Liste der Testpläne im Repository anzuzeigen

        list plans
      • Geben Sie für Android 6.0 und niedriger ein, um eine Liste der Testpakete im Repository anzuzeigen

        list packages
    • Weitere Befehlsoptionen je nach CTS-Version finden Sie in der Konsolenbefehlsreferenz oder unter „Allen helfen“ in der Tradefed-Konsole.

  7. Führen Sie mehrere Wiederholungssitzungen aus, bis alle Testmodule abgeschlossen sind und die Testfehlerzahlen in den letzten beiden Wiederholungssitzungen gleich sind.

    • Für Android 9 und höher verwenden Sie

      run retry --retry session_number --shard-count number_of_shards
    • Für Android 7.0–8.1 verwenden Sie

      run cts --retry session_number --shards number_of_shards
    • Weitere Optionen für Wiederholungsbefehle je nach CTS-Version finden Sie unter CTS v2-Befehlskonsole .

    • Einzelheiten zur Implementierung der CTS-Wiederholung finden Sie unter Trade Federation Suite-Wiederholung .

  8. Führen Sie eine Wiederholungssitzung nur bei fehlgeschlagenen paratermerisierten Tests durch. Bestandene parametrisierte Tests werden nicht wiederholt.

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

      run retry --retry  --new-parameterized-handling
  9. Sehen Sie sich den Testfortschritt und die gemeldeten Ergebnisse auf der Konsole an.

Führen Sie CTS mit der Android Test Station aus

Android Test Station ist ein Testautomatisierungstool, mit dem Android-Entwickler und Testingenieure eine Benutzeroberfläche zum Ausführen von Standardtestsuiten verwenden können. Es funktioniert mit der Android Compatibility Test Suite (CTS) .

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

Führen Sie CTS für alternative Modi aus

Die Version CTS 10 R4 fügt einen Testplan für Geräte mit alternativen Modi oder für Geräte mit mehr als einem Bildschirm hinzu. Führen Sie den Testplan für alternative Modi mit run cts-foldable aus.

Bestandene oder fehlgeschlagene Testfälle für den alternativen Bildschirmmodus werden mit dem Wert von display_mode angehängt, zum Beispiel testcase1[display_mode=0] .

In CTS 13 ermöglicht die DeviceStateManager-API die Ausführung von Testmodulen mit der folgenden Konfigurationsoption auf verschiedenen Gerätezuständen eines faltbaren Geräts. Die Testausführung erfolgt in CTS automatisch basierend auf den im Gerät definierten Display-Faltzuständen, ohne dass der cts-foldable -Testplan ausgeführt werden muss.

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

Multi-Geräte-Tests in CTS

Android 13 und höher unterstützen Tests mit mehreren Geräten. Tests, die mehrere Geräte erfordern, werden während des CTS-Laufs automatisch ausgeführt. CTS 13 enthält einige Tests für mehrere Geräte, die automatisch ausgelöst werden, wenn Sharding verwendet wird. Während das Testen keine zusätzlichen Änderungen am physischen Setup erfordert, muss virtualenv installiert sein, damit die Tests ordnungsgemäß ausgeführt werden. Einzelheiten finden Sie unter Multi-Device-Suites .

Führen Sie Tests mit mehreren Geräten durch

Um Tests mit mehreren Geräten unabhängig auszuführen, verwenden Sie den folgenden Code:

  cts-tradefed > run cts-multidevice
  

Alle regulären Optionen werden unterstützt. Um bestimmte Geräte anzusprechen, fügen Sie --serial <serial1> --serial <serial2> usw. für die Anzahl der anvisierten Geräte hinzu.

Um Tests für mehrere Geräte automatisch auszulösen, verwenden Sie Sharding wie in --shard-count 2 .