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:
- Richten Sie zu testende Geräte (DUTs) gemäß der Android-Geräteeinrichtung ein.
- 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.
- Laden Sie die veröffentlichten CTS-Builds auf Ihren Linux-Hostcomputer herunter und entpacken Sie den Build an den Host-Speicherort.
- 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.
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
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.
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 .
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
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
.