Trade Federation ist ein Framework für kontinuierliche Tests auf Android-Geräten. Bevor Sie die Compatibility Test Suite (CTS) ausführen, lesen Sie den Artikel Trade Federation – Übersicht, um mehr über das Tradefed-Testframework zu erfahren.
So führen Sie einen Testplan aus:
- Richten Sie DUTs gemäß der Android-Geräteeinrichtung ein.
- 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 zum Installieren dieser Tools finden Sie unter CTS einrichten: ADB und AAPT.
- Laden Sie die veröffentlichten CTS-Builds auf Ihren Linux-Hostcomputer herunter und entpacken Sie den Build an den gewünschten Speicherort.
- 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.
- Lassen Sie den DUT in einer festen Position, um zu verhindern, dass die Sensoraktivität ausgelöst wird.
- Richten Sie die Kamera des Geräts auf ein Objekt, das scharfgestellt werden kann.
- Drücken Sie keine Tasten auf dem Gerät, während CTS läuft. Das Drücken von Tasten oder das Berühren des Bildschirms eines DUT stört die laufenden Tests und kann zu Testfehlern führen.
Starte das Script cts-tradefed der CTS-Konsole aus dem Ordner, in dem das CTS-Paket entpackt wurde. Führen Sie in der Befehlszeile des Hosts Folgendes aus:
./android-cts/tools/cts-tradefed
Führen Sie 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. Bei der Fragmentierung muss der Host mindestens zwei Geräte verbinden, aus Effizienzgründen werden jedoch mindestens sechs Geräte empfohlen. Wenn Sie mehr als ein Gerät verwenden:
Bei Android 9 und höher: Befehlsoption verwenden
--shard-count number_of_shards
Bei Android 8.1 und niedriger: Befehlsoption verwenden
--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
Wenn Sie unter Android 6.0 oder niedriger eine Liste der Testpakete im Repository aufrufen möchten, 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 „Hilfe alle“.
Führen Sie mehrere Wiederholungssitzungen aus, bis alle Testmodule abgeschlossen sind und die Anzahl der Testfehler in den letzten beiden Wiederholungssitzungen gleich ist.
Für Android 9 und höher:
run retry --retry session_number --shard-count number_of_shards
Für Android 7.0–8.1:
run cts --retry session_number --shards number_of_shards
Weitere Befehlsoptionen für „Wiederholen“ je nach CTS-Version finden Sie unter CTS v2-Befehlskonsole.
Implementierungsdetails für CTS-Wiederholungen finden Sie unter Trade Federation Suite-Wiederholung.
Führen Sie einen Wiederholungsversuch nur für fehlgeschlagene parametrisierte Tests aus. Bestandene parametrisierte Tests werden nicht wiederholt.
Unter Android 11 und höher ist die folgende Befehlsoption für den Wiederholungsversuch standardmäßig im Befehl
run cts
aktiviert:run retry --retry
--new-parameterized-handling
Sie können den Testfortschritt und die in der Console gemeldeten Ergebnisse einsehen.
CTS mit 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. Sie funktioniert mit der Android Compatibility Test Suite (CTS).
Das Tool ist über die ATS-Anleitung öffentlich verfügbar und der Code ist in AOSP als Open Source verfügbar (multitest_transport
, tradefed_cluster
).
CTS für alternative Modi ausführen
Die CTS 10 R4-Version enthält einen Testplan für Geräte mit alternativen Modi oder für Geräte mit mehreren Bildschirmen. Führen Sie den Testplan für alternative Modi mit run cts-foldable
aus.
Bestandene oder fehlgeschlagene Testläufe für den alternativen Bildschirmmodus werden an den Wert aus display_mode
angehängt, 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 den im Gerät definierten Faltstatus des Displays, ohne dass der Testplan cts-foldable
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 der CTS-Ausführung automatisch ausgeführt.
CTS 13 enthält einige Mehrgerätetests, die automatisch ausgelöst werden, wenn das Sharding verwendet wird. Für die Tests sind keine zusätzlichen Änderungen an der physischen Einrichtung erforderlich. virtualenv
muss jedoch installiert sein, damit die Tests ordnungsgemäß ausgeführt werden können. Weitere Informationen finden Sie unter Suites für mehrere Geräte.
Mehrgerätetests ausfü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 das Targeting erfolgt, --serial <serial1> --serial <serial2>
hinzu.
Wenn Tests für mehrere Geräte automatisch ausgelöst werden sollen, verwende die Fragmentierung wie in --shard-count 2
.