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 die Testgeräte gemäß der Einrichtung von Android-Geräten 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 das DUT vor:
- Drücken Sie die Startbildschirmtaste, um den Startbildschirm aufzurufen.
- Verwenden Sie das DUT nicht für andere Aufgaben.
- Halten Sie das DUT in einer stationären Position, um Sensoraktivitäten zu vermeiden.
- Richten Sie die Kamera des Geräts auf ein Objekt, das scharfgestellt 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.
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
Standard-Testplan ausführen (enthält alle Testpakete):
- Für CTS 11 und älter
cts-tradefed > run cts
Für CTS 12 und höher
cts-console > 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 Sie mehr als ein Gerät verwenden:
Unter 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ür CTS 11 und älter
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 Retry-Befehlsoptionen je nach CTS-Version finden Sie in der 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. Für bestandene parametrisierte Tests wird kein neuer Versuch unternommen.
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.
An bestandene oder fehlgeschlagene Testfälle für den alternativen Bildschirmmodus wird der 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 auf dem Gerät definierten Zuständen des Displays, 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 Tests auf mehreren Geräten.
Tests, für die mehrere Geräte erforderlich sind, werden während des CTS-Laufs 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 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
.