Ab dem 27. März 2025 empfehlen wir, android-latest-release
anstelle von aosp-main
zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Testbefehlsplaner
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
In Tradefed wird jede einzelne Testanfrage über den Befehlsplaner ausgeführt. Der Befehlsplaner ist also eine wichtige Komponente des Harness, das zum Ausführen von Tests erforderlich ist.
Lebenszyklus
Wenn Tradefed eine Testanfrage erhält (z. B. Eingaben über die Konsole), durchläuft sie vor der Ausführung die folgenden Ereignisse:
- Testanfrage wird geparst: Eine Testanfage besteht in der Regel aus einer XML-Tradefed-Konfigurationsreferenz, gefolgt von Optionen.
Beispiel:
> run host --class com.android.tradefed.build.BuildInfoTest
- Der Gerätemanager wird um Geräte gebeten, die der Testanfrage entsprechen: Der Gerätemanager weist ein Gerät zu, das den Testanfragen entspricht. Wenn beispielsweise ein Pixel-Gerät angefordert wird, sucht der Gerätemanager nach einem verfügbaren Pixel-Gerät.
- Testanfrage + Geräte starten als Aufruf: Die Tests beginnen.
- Gerätefreigabe: Sobald die Aufrufe abgeschlossen sind, wird das zugewiesene Gerät freigegeben und kann für andere Tests zugewiesen werden.
Tradefed-Aufruf
Eine Aufrufung in Tradefed bezieht sich darauf, dass ein Testbefehl gerade ausgeführt wird.
Geräte, die in der Aufrufanfrage enthalten sind, werden als allocated
gekennzeichnet und können nicht für andere Tests verwendet werden.
TF führt die folgenden Schritte in dieser Reihenfolge aus:
- Build- und Testartefakte herunterladen
- Zielvorbereitung
- Testausführung
- Zielbereinigung
- Ergebnisberichte
Die einzelnen Schritte werden im Abschnitt Architektur ausführlicher beschrieben.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# Test Command Scheduler\n\nIn Tradefed, every single test request goes through the\n[Command Scheduler](https://android.googlesource.com/platform/tools/tradefederation/+/refs/heads/android16-release/src/com/android/tradefed/command/CommandScheduler.java)\nto be run. So the Command Scheduler is a key component of the harness needed to\nrun tests.\n\nLifecycle\n---------\n\nWhen a test request is presented to Tradefed (for example, input from the\nconsole), it will go through the following events before being run:\n\n1. *Test request is parsed* - A test request is usually composed of an XML Tradefed configuration reference followed by options. For example: `\u003e run host --class com.android.tradefed.build.BuildInfoTest`\n2. *Device Manager is requested for device(s) matching the test request* - Device Manager [allocates a device](/docs/core/tests/tradefed/architecture/device-manager/device-allocation) that matches the test requests. For example, if a Pixel device is requested then Device Manager will look for an available Pixel device.\n3. *Test request + device(s) starts as an invocation* - Testing is starting.\n4. *Device release* - Once the invocation is finished, the device allocated will be released and can be allocated for other tests.\n\nTradefed invocation\n-------------------\n\nAn invocation in Tradefed refers to when a test command is currently executing.\nDevices included in the invocation are marked as `allocated` and cannot be used\nby other tests to run.\n\nTF will execute the following steps in this order:\n\n1. [Build and test artifacts download](/docs/core/tests/tradefed/architecture/build-provider)\n2. [Target preparation](/docs/core/tests/tradefed/architecture/target-preparer)\n3. [Test execution](/docs/core/tests/tradefed/architecture/advanced/test-runner)\n4. [Target clean up](/docs/core/tests/tradefed/architecture/target-preparer)\n5. [Result reporting](/docs/core/tests/tradefed/architecture/result-reporter)\n\nEach step is described in more detail within the\n[Architecture section](/docs/core/tests/tradefed/architecture)."]]