OmniLab ATS ist ein Testtool, mit dem Android-Entwickler und Testingenieure eine Benutzeroberfläche verwenden können, um Standard-Android-Test-Suites wie die Android Compatibility Test Suite (CTS) auszuführen. Dieses Tool fungiert als Weboberfläche für verschiedene Test-Frameworks wie Trade Federation (TF) und Google Mobly. Damit können Sie CTS- und Multi-Device-Tests auf einer Reihe von Testgeräten mit minimalem Aufwand ausführen und einen Zeitplan für die kontinuierliche Ausführung von Tests erstellen.
Einführung in OmniLab ATS 2.0
OmniLab ATS 2.0 migriert die zugrunde liegende Infrastruktur für die Testausführung von Trade Federation zu OmniLab. Diese Änderung sorgt für ein robusteres und effizienteres Backend, während die Benutzeroberfläche und die Workflows von OmniLab ATS 1.0 beibehalten werden.
Hauptvorteile von OmniLab ATS 2.0:
- Modernisierte Infrastruktur: Nutzt die OmniLab-Plattform für verbesserte Stabilität und Leistung.
- Nahtloser Übergang: Keine Änderungen an der Web-UI oder den Kernworkflows für die Testausführung.
- Zukunftssicher: Es ist auf die einheitliche Testinfrastruktur von Google abgestimmt, sodass neue Funktionen schneller übernommen werden können.
OmniLab ATS 2.0 bietet neue Funktionen wie Bulk-Updates für Testpläne, erweiterte Gerätezuweisung und mehr. In den Versionshinweisen finden Sie Informationen zu Updates.
Upgrade auf OmniLab ATS 2.0:
Wenn du OmniLab ATS 2.0 verwenden möchtest, musst du deine Station auf Build R52 oder höher aktualisieren. Verwenden Sie das Flag --force_ats_version 2, um zum neuen Omnilab ATS 2.0 zu wechseln, und das Flag --force_update mit dem Befehl mtt start, um ein Upgrade auf den neuesten Build durchzuführen:
mtt start --force_ats_version 2 --force_update
Während der Migrationsphase empfehlen wir, das Tag dogfood zu verwenden, um auf den neuesten stabilen Build mit OmniLab ATS 2.0-Funktionen zuzugreifen:
mtt start --force_ats_version 2 --tag dogfood --force_update
Wir planen, OmniLab ATS 2.0 im dritten Quartal 2026 zur Standardversion zu machen. Wir planen, OmniLab ATS 1.0 bis Ende 2026 einzustellen.
Weitere Informationen zu bestimmten Updates, bekannten Unterschieden und Upgrade-Anleitungen finden Sie im OmniLab ATS 2.0-Upgrade-Leitfaden.
OmniLab ATS einrichten
In diesem Abschnitt wird erläutert, wie Sie OmniLab ATS installieren und einrichten.
OmniLab ATS verwendet Quellcode aus den folgenden Quellen:
- OmniLab ATS-Quellcode
- TradeFed-Cluster-Quellcode
OmniLab ATS installieren
Beachte alle Hardware- und Softwareanforderungen für die von dir ausgeführten Test-Suites.
Die Anforderungen für die CTS findest du unter source.android.com.
Für OmniLab ATS gibt es keine zusätzlichen Hardwareanforderungen. Wir empfehlen jedoch, die CTS-Hostanforderungen als Ausgangspunkt zu verwenden.
Es gibt zwei Möglichkeiten, OmniLab ATS zu installieren:
- Führen Sie das Installationsprogramm aus.
- Manuell installieren, wofür mehrere Programme und Ressourcen installiert werden müssen.
Mit dem Installationsprogramm installieren
Das Installationsprogramm wird unter Ubuntu 22.04 und höher unterstützt. Das Installationsprogramm installiert und konfiguriert alle Programme und Ressourcen, die zum Ausführen von OmniLab ATS erforderlich sind.
So verwenden Sie das Installationsprogramm:
Führen Sie das Installationsprogramm aus:
curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
Führen Sie
mtt versionaus, um die installierte Version der OmniLab ATS CLI zu prüfen.
Manuell einbinden
Docker installieren
Folgen Sie der Anleitung zur Installation der Docker Community Edition (CE) auf Ihrem Linux-Computer.
Folgen Sie den Schritten nach der Installation, um Docker als Nicht-Root-Nutzer zu verwalten.
Möglicherweise müssen Sie das Terminalfenster neu starten oder sich ab- und wieder anmelden, damit die Berechtigungsänderungen wirksam werden.
Python 3 installieren
Für die OmniLab ATS-Befehlszeile ist Ubuntu 22.04 oder höher erforderlich. Die Befehlszeile wird mit den Python-Versionen 3.10 bis 3.13 verifiziert.
Führen Sie die folgenden Befehle aus, um Python 3 zu installieren:
sudo apt-get updatesudo apt install python3 python3-distutils
Wenn Sie eine Version von Python 3 benötigen, die nicht in Ihrer Standarddistribution enthalten ist, fügen Sie zuerst das Repository für Python 3 hinzu. Führen Sie dazu einen der folgenden Schritte aus:
Führen Sie folgenden Befehl aus:
sudo add-apt-repository ppa:deadsnakes/ppa
Erstellen und installieren Sie das Repository aus der Quelle.
Wenn Sie eine bestimmte Python 3-Version (z. B. 3.10) installieren möchten, führen Sie stattdessen diese Befehle aus:
sudo apt-get updatesudo apt install python3.10 python3.10-distutils
OmniLab ATS-Befehlszeile abrufen
Laden Sie hier das Befehlszeilenpaket herunter.
OmniLab-ATS starten
Starten Sie OmniLab ATS mit dem folgenden Befehl:
mtt start
Wenn die Benutzeroberfläche zum ersten Mal gestartet wird, kann es einige Minuten dauern, bis sie angezeigt wird. Die Befehlszeile zeigt eine Web-URL an, über die Sie in einem Browser auf die Benutzeroberfläche zugreifen können. Die Web-URL ist standardmäßig localhost:8000. Bei Bedarf können Sie den Standardport beim Start mit dem Flag --port ändern.
Falls eine neuere Version verfügbar ist, können Sie sie auf die aktuelle Version aktualisieren. Die neuesten Releases finden Sie in den Versionshinweisen.
Führen Sie folgenden Befehl aus, um auf die aktuelle Version zu aktualisieren:
mtt start --force_update
Führen Sie folgenden Befehl aus, um die Anwendung zu beenden:
mtt stop
Verwenden Sie den folgenden Befehl, um eine Liste anderer Befehle aufzurufen:
mtt --help
Datenbank sichern und wiederherstellen
Wenn Sie die OmniLab ATS-Datenbank sichern möchten, beenden Sie die App und führen Sie den folgenden Befehl aus. Dadurch wird die aktuelle Datenbank in einer TAR-Datei mit dem Namen mtt-backup.tar in Ihrem Basisverzeichnis gesichert:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."
Führen Sie vor dem Starten der App den folgenden Befehl aus, um die Wiederherstellung durchzuführen:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"
Einrichtungsassistent
Nachdem Sie OmniLab ATS installiert und zum ersten Mal ausgeführt haben, führt Sie der Einrichtungsassistent durch einige Schritte, mit denen Sie das Tool für Ihre Umgebung anpassen können. Alle Änderungen, die Sie hier vornehmen, können später auf der Seite „Einstellungen“ neu konfiguriert werden.
Konfigurationssicherung wiederherstellen
Wenn Sie eine Konfigurationsdatei von einem anderen OmniLab ATS-Host gesichert haben, können Sie die Datei hochladen, um alle von diesem Host geänderten Konfigurationen zu kopieren. Klicken Sie dazu auf den Button Datei hochladen.
Abbildung 1. Konfigurationssicherung wiederherstellen
Standarddienstkonto festlegen
Sie können ein Dienstkonto festlegen, das OmniLab ATS standardmäßig für den Zugriff auf Ihre Ressourcen (z. B. Google Cloud Storage, Google Drive) verwendet. Klicken Sie zum Authentifizieren Ihres Dienstkontos auf Dienstkontoschlüssel hochladen und wählen Sie die JSON-Schlüsseldatei Ihres Dienstkontos aus.
Abbildung 2: Dienstkonto festlegen.
Wenn das Dienstkonto erfolgreich authentifiziert wurde, wird die E-Mail-Adresse des Kontos oben rechts auf der Seite angezeigt. Wenn Sie das Dienstkonto ändern möchten, klicken Sie auf den Kontonamen, entfernen Sie das aktuelle Standardkonto und laden Sie einen neuen Dienstkontoschlüssel hoch.
Abbildung 3: Dienstkonto ändern
Konfigurationssätze importieren
Ein Konfigurationssatz ist ein Bundle von Konfigurationen zum Ausführen von Test-Suites, einschließlich zugehöriger Geräteaktionen und Build-Kanäle. Konfigurationssätze werden in einem bestimmten Google Cloud Storage-Bucket (GCS) gehostet. Nachdem Sie den GCS-Build-Kanal mit Ihrem Google-Konto authentifiziert haben, wird eine Liste aller verfügbaren Konfigurationssätze angezeigt.
Wählen Sie die Konfigurationssätze aus, die Sie Ihrem Test Station-Host hinzufügen möchten, und klicken Sie auf Ausgewählte importieren.
Abbildung 4: Konfigurationssatz importieren
WLAN-Einstellungen einschließen
Für einige CTS-Tests muss dein Gerät mit einem WLAN-Hotspot verbunden sein. Geben Sie die WLAN-SSID und optional den WLAN-PSK ein, um Ihr WLAN auszuwählen.
Abbildung 5: WLAN-Hotspot-Einstellungen
Nachdem Sie den Einrichtungsassistenten abgeschlossen haben, wird die Seite mit den neuen Einstellungen neu geladen.
Gerät verbinden
USB-Debugging muss aktiviert sein, damit ein Gerät zum Testen verwendet werden kann. So aktivieren Sie das Debugging:
Folgen Sie der Anleitung unter Entwickleroptionen und Debugging aktivieren.
Wenn du Android-Test-Builds mit benutzerdefinierten ADB-Schlüsseln verwenden möchtest, lege die benutzerdefinierten
.adb_key-Dateien im Verzeichnis~/.android/ab.Die Dateien werden automatisch geladen und an ADB übergeben, um das USB-Debugging nach dem Flashen des Geräts für Geräte mit diesen Builds automatisch zu aktivieren.
Verbinde das Gerät über USB mit dem Hostcomputer.
Das Gerät wird innerhalb einer Minute nach dem Aktualisieren der Weboberfläche auf dem OmniLab ATS-Tab „Geräte“ angezeigt. Auf diesem Tab können Sie auch den Status der Geräte einsehen.
Abbildung 6. Gerät verbinden
Es gibt folgende Gerätestatus:
- Verfügbar: Das Gerät ist verbunden und bereit für einen Test.
- Zugewiesen: Das Gerät ist verbunden und führt einen Test aus. Auf jedem Gerät kann jeweils nur ein Test ausgeführt werden. Das Gerät muss also den aktuellen Test abschließen, bevor ein neuer ausgeführt werden kann.
Test starten
Test auswählen
OmniLab ATS enthält eine Reihe von vorkonfigurierten CTS-Konfigurationen. Wenn Sie einen dieser Tests ausführen möchten, rufen Sie den Tab „Test-Suites“ auf und klicken Sie für den ausgewählten Test auf Test ausführen.
Abbildung 7. Test wird ausgewählt.
Informationen zum Bearbeiten oder Hinzufügen neuer Tests finden Sie unter Tests hinzufügen.
Testlauf konfigurieren
Bearbeiten Sie die Parameter, die für diesen Testlauf verwendet werden sollen. Die meisten Parameter sind mit Werten aus der ausgewählten Testkonfiguration vorausgefüllt.
Dieser Schritt kann mit den Standardwerten ausgeführt werden. Sie können jedoch alle Parameter wie Max. Wiederholungsversuche und Befehl an Ihre Anforderungen anpassen.
Abbildung 8. Testlauf konfigurieren
Die Parameter für den Testlauf sind:
- Name: Name der Test-Suite, die Sie ausführen möchten.
- Anzahl der Ausführungen: Gibt an, wie oft dieser Testlauf ausgeführt werden soll, wenn er geplant ist. Testläufe werden mit Trade Federation geplant. Damit können bis zu 20 Testläufe parallel ausgeführt werden, sofern die Kapazität dafür vorhanden ist.
- Maximale Wiederholungsversuche: Maximale Anzahl von Wiederholungsversuchen für einen Testlauf, wenn mindestens ein Test fehlschlägt. In der Regel wird dieser Wert auf 4–6 Wiederholungen für einen vollständigen CTS-Durchlauf festgelegt, um instabile Tests zu berücksichtigen.
- Zeitüberschreitung in der Warteschlange: Wenn ein Testlauf zu lange im Status In der Warteschlange bleibt, wird er automatisch abgebrochen. Geben Sie hier die Wartezeit vor dem Abbruch an. Der Standardwert ist 24 Stunden.
Befehl: Der Befehl zum Ausführen der Test-Suite. Hier können Sie zusätzliche Befehlszeilenargumente eingeben. Führe beispielsweise ein bestimmtes Modul in CTS 8.1 mit folgendem Befehl aus:
cts-suite -m ShortModuleNameBefehl wiederholen: Der Befehl zum Wiederholen einer Test-Suite. Hier können Sie zusätzliche Befehlszeilenargumente hinzufügen. Wenn Sie beispielsweise nur ein bestimmtes Modul in CTS 8.1 wiederholen möchten, verwenden Sie:
cts --retry 0 -m ShortModuleNameDie Argumente für die Wiederholung können sich von denen unterscheiden, die beim ersten Befehl verfügbar waren. Prüfen Sie daher die unterstützten Parameter auf der offiziellen Website für die ausgewählte Test-Suite.
Vorheriger Testlauf: Wenn Sie einen vorherigen Testlauf wiederholen möchten:
Lokal: Wenn die Ausführung auf dem aktuellen Host gestartet wurde, geben Sie die ID des Testlaufs ein, die Sie in den Details des Testlaufs sehen.
Abbildung 9. Lokaler vorheriger Testlauf.
Remote: Wenn der Testlauf auf einem anderen Host gestartet wurde, lade die Datei mit den Testergebnissen hoch, indem du Remote auswählst, auf Datei mit Testergebnissen hochladen klickst und eine Datei aus deinem lokalen Speicher auswählst.
Abbildung 10. Entfernen Sie den vorherigen Testlauf.
Ausgewählte Geräte
Klicken Sie die Kästchen an, um die Geräte auszuwählen, die für die Ausführung der Test-Suite zugewiesen werden sollen. Die Anzahl der Shards sollte sich automatisch an die Anzahl der ausgewählten Geräte anpassen.
Abbildung 11. Geräte auswählen
Wenn Sie Geräte nach anderen Attributen als der Geräteseriennummer auswählen möchten, können Sie die Gerätespezifikationen manuell eingeben. Wenn Sie beispielsweise drei Geräte mit dem Produktnamen „bramble“ auswählen möchten, geben Sie Folgendes ein:
product:bramble;product:bramble;product:bramble
Folgende Attribute werden unterstützt:
- build_id
- device_serial
- device_type
- Hostname
- Produkt
- product_variant
- sim_state
Alle ausgewählten Geräte müssen den Status Verfügbar haben, damit der Testlauf ausgeführt werden kann. Wenn der Testlauf ausgeführt wird, wechseln sie alle in den Status Zugewiesen. Ein Testlauf befindet sich im Status In der Warteschlange, während er darauf wartet, dass Geräte verfügbar werden.
Geräteaktionen hinzufügen
Geräteaktionen sind Skripts, die vor jedem Testlauf ausgeführt werden können. Einige Geräteaktionen sind bereits konfiguriert, z. B. das Flashen und Neustarten. Informationen zum Erstellen neuer Geräteaktionen finden Sie unter Neue Geräteaktion erstellen.
Abbildung 12. Geräteaktionen
Wenn Sie einem Testlauf eine Geräteaktion hinzufügen möchten, klicken Sie auf Neue Aktion hinzufügen, setzen Sie ein Häkchen bei den hinzuzufügenden Aktionen und klicken Sie auf Aktion(en) hinzufügen. Geräteaktionen werden nacheinander ausgeführt. Du kannst die Aktionen per Drag-and-drop neu anordnen.
Abbildung 13. Aktionen werden neu angeordnet.
Testressourcen festlegen
Testressourcen sind Dateien, die zum Ausführen eines Testlaufs erforderlich sind. Für die Ausführung der CTS ist beispielsweise eine android-cts*.zip-Datei erforderlich und für das Flashen eines Geräts muss das Build-Image bereitgestellt werden.
Die Download-URL für die ZIP-Datei der Test-Suite sollte standardmäßig auf die Google Drive-Links verweisen, die Partnern zur Verfügung gestellt werden. Sie können eine andere Datei auswählen, indem Sie auf Durchsuchen klicken. Im Pop-up-Fenster können Sie einen Downloadlink für eine Datei eingeben, eine Datei aus einem authentifizierten Build-Kanal verwenden oder eine Datei aus dem lokalen Speicher hochladen.
Abbildung 14. Testressourcen.
Unten sehen Sie das Pop-up-Fenster zum Auswählen einer Testressource über eine Web-URL. Sie können den Download-URL-Link eingeben und auf Auswählen klicken, um die Auswahl zu bestätigen.
Abbildung 15. Testressourcenauswahl – Web-URL.
Wenn Sie Ressourcen in Google Drive, Google Cloud Storage (GCS) oder andere Kanäle hochgeladen haben, können Sie auch den Tab des jeweiligen Kanals aufrufen und dort Ressourcen auswählen. Hier ist ein Beispiel für die Auswahl einer Ressource aus Google Drive.
Abbildung 16. Ressourcenauswahl testen – Google Drive.
Im Feld Dateiname werden nicht nur Dateien, sondern auch Platzhalterzeichen unterstützt. Die Dokumentation dazu finden Sie hier.
Abbildung 17. Testressourcenauswahl – Unterstützung von Platzhaltermustern.
Sie können auch eine Datei aus dem lokalen Dateispeicher von OmniLab ATS auswählen. Sie können Dateien in diesen Speicher hochladen oder lokale Dateien und Verzeichnisse direkt verwenden.
Abbildung 18. Testressourcenauswahl – Lokaler Dateispeicher.
Konfigurationen für die erneute Ausführung hinzufügen
Sie können Wiederholungen planen, die nach Abschluss des primären Laufs beginnen und dessen Ergebnisse laden, aber andere Geräte, Aktionen oder Ressourcen verwenden können.
Abbildung 19. Konfigurationen für die erneute Ausführung werden hinzugefügt.
Testlauf starten
Nachdem Sie die für den Testlauf erforderlichen Informationen eingegeben haben, klicken Sie auf Testlauf starten. Wenn alle Informationen gültig sind, wird der Testlauf gestartet und Sie werden zu einer Seite weitergeleitet, auf der Sie die Details und den Fortschritt des Testlaufs sehen können.
Abbildung 20. Testlauf starten
Testplan erstellen
Testpläne werden verwendet, um Testläufe nach einem regelmäßigen Zeitplan zu erstellen. Beispiel: CTS 9.0 wird täglich um 17:00 Uhr ausgeführt. Wenn Sie einen neuen Testplan erstellen möchten, klicken Sie auf Neuen Testplan erstellen.
Abbildung 21. Testplan erstellen
Testplan konfigurieren
Geben Sie den Namen des Testplans und alle Labels ein, die Sie hinzufügen möchten. Wählen Sie dann einen Zeitplan aus.
- Manuell: Der Testplan erstellt nur dann Testläufe, wenn ein Nutzer auf der Listenseite des Testplans auf Testplan ausführen klickt.
- Regelmäßig: Der Testplan plant Testläufe automatisch nach dem ausgewählten regelmäßigen Zeitplan. Beispiel: Sie können einen Testlauf jeden Tag um 17:00 Uhr planen.
- Benutzerdefiniert: Der Testplan plant Testläufe automatisch basierend auf dem eingegebenen Cron-Ausdruck. Wenn Sie beispielsweise jeden Tag um 17:00 Uhr einen Testlauf planen möchten, lautet der Cron-Ausdruck
0 17 * * *.
Abbildung 22. Testplan konfigurieren
Test-Suites hinzufügen
Füge Test-Suites hinzu, die vom Testplan geplant werden sollen, indem du auf + Testlaufkonfiguration hinzufügen klickst. Wählen Sie im Drop-down-Menü Name eine Test-Suite aus und klicken Sie auf Nächster Schritt. Wählen Sie dann die Geräte aus, auf denen Sie den Test ausführen möchten, und klicken Sie auf Konfiguration hinzufügen. Sie können für jeden Testplan mehrere Konfigurationen hinzufügen.
Abbildung 23. Testlauf konfigurieren
Geräteaktionen hinzufügen
Fügen Sie die Geräteaktionen hinzu, die vor jedem Testlauf ausgeführt werden sollen. Weitere Informationen findest du unter Geräteaktionen hinzufügen.
Abbildung 24: Geräteaktionen hinzufügen
Testressourcen festlegen
Das Hinzufügen von Testressourcen zu Testplänen funktioniert genauso wie das Hinzufügen zu einzelnen Testläufen. Weitere Informationen finden Sie unter Testressourcen festlegen.
Abbildung 25. Testressourcen werden festgelegt.
Testläufe ansehen
Liste der Testläufe
Rufen Sie die Liste der geplanten Testläufe auf der Seite „Testläufe“ auf. Klicken Sie auf Ansehen, um weitere Details zu einem Testlauf aufzurufen.
Sie können die Liste auch filtern, indem Sie einen String in die Filterleiste eingeben und die Eingabetaste drücken. Sie können mehrere Filter verwenden, indem Sie sie durch ein Komma trennen. Der Filter gibt alle Zeilen zurück, die den genauen Text (keine Teilstring-Übereinstimmung) in einer beliebigen Spalte enthalten, mit Ausnahme von Status und Erstellt.
Ein leerer Filter gibt alle Zeilen zurück. Derzeit ist es nicht möglich, nach Zeilen mit leeren Werten zu filtern.
Abbildung 26: Liste der Testläufe.
Details zum Testlauf
Hier können Sie sich die Details eines Testlaufs ansehen, z. B. den Status, die Logs und die Ergebnisse.
Abbildung 27. Details zum Testlauf.
Testlaufstatus
Der Fortschritt eines Testlaufs wird im Abschnitt „Status“ angezeigt. Wenn es eine zugehörige Meldung gibt, z. B. zum Downloadfortschritt, zum Grund für den Abbruch oder eine Fehlermeldung, wird diese hier ebenfalls angezeigt.
Abbildung 28. Status des Testlaufs.
Die Testlaufstatus sind:
- Ausstehend: Erforderliche Ressourcen werden heruntergeladen.
- In der Warteschlange: Der Test kann ausgeführt werden, sobald ein Gerät verfügbar ist.
- Wird ausgeführt: Der Test wird auf einem zugewiesenen Gerät ausgeführt.
- Abgeschlossen: Der Test ist abgeschlossen und die Ergebnisse wurden gemeldet.
- Abgebrochen: Der Test wurde vom Nutzer abgebrochen oder es ist ein Zeitüberschreitungsfehler aufgetreten, während versucht wurde, verfügbare Geräte zu finden.
- Fehler: Es ist ein Fehler aufgetreten, der die Ausführung des Tests verhindert hat.
Testlauf abbrechen
Wenn der Testlauf noch nicht abgeschlossen ist, können Sie ihn abbrechen, indem Sie auf Abbrechen und dann im Bestätigungsdialogfeld auf Ja klicken. Testläufe werden auch automatisch abgebrochen, wenn sie länger als im Feld queue_timeout_seconds angegeben im Status In der Warteschlange bleiben. Wenn Sie einen Testlauf im Status Wird ausgeführt abbrechen, kann es einige Minuten dauern, bis der Abbruch wirksam wird.
Abbildung 29. Testlauf abbrechen
Ergebnisse des Testlaufs
Nach Abschluss eines Testlaufs werden die Ergebnisse erfasst und angezeigt. Wenn Sie auf den Pfeil für die einzelnen Ausführungen klicken, werden weitere Details angezeigt. Klicken Sie auf Ausgabedateien ansehen, um die erfassten Testartefakte wie test_result.xml und test_result_failures.html aufzurufen.
Abbildung 30. Ergebnisse des Testlaufs.
Auf dem Tab „Logs“ können Sie Live-Host- und Tradefed-Logs ansehen.
Abbildung 31. Tab „Logs“.
Die Ergebnisse für einzelne Module finden Sie auf dem Tab „Test Results“ (Testergebnisse).
Abbildung 32. Tab „Testergebnisse“
Sie können die als Testressourcen verwendeten Dateien herunterladen, indem Sie auf dem Tab „Testressourcen“ auf Öffnen klicken.
Abbildung 33. Tab „Testressourcen“.
Wenn Sie sich die Details des Testlaufs ansehen möchten, z. B. create_time, rufen Sie den Tab „Konfiguration“ auf.
Abbildung 34: Tab „Konfiguration“.
Erweiterte Funktionen
Konfigurationsdateien verwalten
OmniLab ATS verwendet in YAML geschriebene Konfigurationsdateien, um vordefinierte Optionen wie Tests, Build-Kanäle und Geräteaktionen zu laden. Hier ein Beispiel für eine Konfigurationsdatei:
// example_file.yaml
tests:
- id : android.cts.9_0.arm
name: CTS 9.0 (ARM)
test_resource_defs:
- name: android-cts.zip
default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
test_resource_type: TEST_PACKAGE
command: cts
env_vars:
- name: TF_PATH
value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
- name: LD_LIBRARY_PATH
value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
setup_scripts:
output_file_patterns:
- android-cts/logs/latest/.*
- android-cts/results/latest/.*\.html
- android-cts/results/latest/compatibility_result\..*
- android-cts/results/latest/logo.png
- android-cts/results/latest/test_result.xml
result_file: test_result.xml
java_properties:
- name: CTS_ROOT
value: ${TF_WORK_DIR}
context_file_dir: android-cts/results/
context_file_pattern: '[\d_\.]+\.zip'
retry_command_line: retry --retry 0
runner_sharding_args: --shard-count ${TF_SHARD_COUNT}
build_channels:
- id: google_drive
name: Google Drive
provider_name: Google Drive
device_actions:
- id: flash
name: Flash
test_resource_defs:
- name: bootloader.img
test_resource_type: DEVICE_IMAGE
- name: radio.img
test_resource_type: DEVICE_IMAGE
- name: img.zip
test_resource_type: DEVICE_IMAGE
tradefed_target_preparers:
- class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
option_values:
- name: work-dir
values:
- ${TF_WORK_DIR}
- name: host-setup-command
values:
- adb -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL flash bootloader bootloader.img
- fastboot -s $SERIAL flash radio radio.img
- fastboot -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL -w update img.zip
- adb -s $SERIAL wait-for-device
- name: host-cmd-timeout
values:
- 10m
Wenn Sie Ihre OmniLab ATS-Instanz einrichten, können Sie Ihre Konfiguration für andere Nutzer freigeben, indem Sie sie als Datei exportieren. Rufen Sie dazu die Seite „Einstellungen“ auf und klicken Sie rechts oben auf Exportieren.
Abbildung 35. Verwaltung von Konfigurationsdateien.
Nachdem die Konfigurationsdatei heruntergeladen wurde, können Sie sie für andere Nutzer freigeben. Sie können die Konfigurationsdatei ihrer OmniLab ATS-Instanz hinzufügen, indem sie auf Importieren klicken und die Konfigurationsdatei auswählen.
Neue Geräteaktion erstellen
Geräteaktionen werden verwendet, um die Einrichtung von Geräten zu automatisieren. Aktionen sind Skripts, die vor jedem Testlauf, einschließlich Wiederholungen, auf jedem Gerät ausgeführt werden, auf dem der Test läuft. Eine Liste der verfügbaren Geräteaktionen finden Sie auf der Seite „Einstellungen“ auf dem Tab „Geräteaktionen“. Einige Geräteaktionen sind bereits konfiguriert, z. B. Neustart und Flashen.
Abbildung 36. Tab „Geräteaktionen“
Neue Geräteaktion hinzufügen
Klicken Sie auf Neue Geräteaktion.
Abbildung 37: Aktionsbutton für neues Gerät.
Geben Sie einen Namen und eine Beschreibung ein.
Abbildung 38: Name der Geräteaktion.
Klicken Sie auf Zielvorbereiter hinzufügen.
Geben Sie den vollständigen Klassennamen des Trade Federation-Zielvorbereiters ein, z. B.
com.android.tradefed.targetprep.RunHostCommandTargetPreparer.
Abbildung 39: Zielvorbereiter hinzufügen
Eine Liste der verfügbaren Zielvorbereiter findest du in der Referenz zu com.android.tradefed.targetprep.
Abbildung 40: Liste der Zielvorbereiter.
Fügen Sie alle Optionen hinzu, die mit dem Zielvorbereiter verwendet werden sollen. Wenn Sie die verfügbaren Optionen aufrufen möchten, suchen Sie im AOSP nach dem Quellcode für jeden Zielvorbereiter (targetprep):
Abbildung 41. Beispiel für eine Aktionsoption.
Wenn Sie eine Option hinzufügen möchten, klicken Sie auf Option für Zielvorbereiter hinzufügen und geben Sie die erforderlichen Werte ein.
Abbildung 42: Beispiel für einen Aktionsbefehl.
Definieren Sie die Testressourcen, die zum Ausführen der Geräteaktion erforderlich sind, z. B. Build-Images zum Flashen. Klicken Sie auf Testressource hinzufügen und füllen Sie die erforderlichen Felder aus, um eine Ressourcendefinition hinzuzufügen. Wenn Sie wissen, wo sich Ihre Dateien befinden, können Sie eine Standard-Download-URL angeben, indem Sie auf Durchsuchen klicken. Wenn die Zielvorbereiter das Verzeichnis als Testressource akzeptieren, wählen Sie Dekomprimieren aus. Geben Sie dann das relative Zielverzeichnis unter dem temporären Arbeitsverzeichnis und die zu dekomprimierenden Dateinamen an. Wenn keine Dateinamen angegeben sind, werden alle Dateien aus der Testressource dekomprimiert.
Abbildung 43: Testressourcen für Aktionen.
Klicken Sie auf Aktualisieren.
Abbildung 44: Aktion „Änderungen speichern“.
Tests verwalten
Test bearbeiten
Wenn Sie einen gespeicherten Test bearbeiten möchten, rufen Sie die Seite „Tests“ auf und klicken Sie in der Zeile des Tests, den Sie ändern möchten, auf Bearbeiten. Klicken Sie nach dem Ändern der Testkonfiguration auf Aktualisieren.
Abbildung 45: Test bearbeiten
Neuen Test hinzufügen
Wenn Sie einen neuen Test hinzufügen möchten, rufen Sie die Seite „Tests“ auf und klicken Sie auf Neuen Test erstellen. Geben Sie die entsprechenden Informationen ein und klicken Sie auf Erstellen.
Abbildung 46: Test erstellen
Abbildung 47. Test kopieren
Hostkonfigurationen exportieren
Nachdem Sie einen Host konfiguriert haben, können Sie die Konfigurationen des Hosts in eine Datei exportieren. Sie können diese Datei auf andere Hosts hochladen, um die gespeicherten Konfigurationen zu kopieren.
Wenn Sie die Konfigurationen eines Hosts exportieren möchten, rufen Sie die Seite „Einstellungen“ auf und klicken Sie rechts oben auf Exportieren.
Abbildung 48: Hostkonfiguration exportieren
Wenn Sie eine Hostkonfigurationsdatei importieren möchten, rufen Sie die Seite „Einstellungen“ auf und klicken Sie rechts oben auf Importieren.
Abbildung 49. Hostkonfiguration importieren
Lokale Dateien und Verzeichnisse verwenden
Ab Version R11 sind Dateien im Verzeichnis $HOME/.ats_storage automatisch in OmniLab ATS zugänglich. Kopieren oder verschieben Sie eine Datei in dieses Verzeichnis. Sie können sie dann auf dem Tab Lokale Datei auswählen, wenn Sie einen Testlauf planen.
cp /path/to/file $HOME/.ats_storage
Abbildung 50: Datei aus dem Verzeichnis $HOME/.ats_storage auswählen.
Mit dem Flag --mount_local_path können Sie zusätzliche Verzeichnisse im lokalen Dateispeicher bereitstellen.
mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2
Abbildung 51. Zusätzliche Verzeichnisse, die im lokalen Dateispeicher bereitgestellt werden.
Multi-Host-Modus aktivieren
Im Multi-Host-Modus können Nutzer einen einzelnen ATS-Controller-Host verwenden, um die Geräte und Tests auf mehreren ATS-Worker-Hosts zu verwalten.
Abbildung 52. Architektur im Multi-Host-Modus.
Verwenden Sie den folgenden Befehl, um den ATS-Controller zu starten:
mtt start --operation_mode=ON_PREMISEPrüfen Sie, ob der Controller unter
http://${CONTROLLER_HOSTNAME}:8000erreichbar ist.Verwenden Sie den folgenden Befehl, um die Worker zu starten:
mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
Wenn Ihr Netzwerk die Kommunikation zwischen Hosts nicht zulässt, müssen Sie die unten stehende Anleitung zur erweiterten Einrichtung des ATS-Workers befolgen.
Verbinden Sie die beiden Hosts über SSH-Tunnel. Wählen Sie Ports für den primären und den Dateiserver-Port aus, z. B. 9000 und 9006.
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAMEKonfigurieren und starten Sie ATS.
DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \ --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \ --operation_mode=ON_PREMISE
Dateireiniger
Der Dateireiniger ist ein Cronjob, der stündlich ausgeführt wird, um Dateien anhand von benutzerdefinierten Konfigurationen zu bereinigen. ATS hat zwei Standardkonfigurationen zum Archivieren von Testergebnissen und zum Löschen temporärer Dateien. In diesem Leitfaden wird beschrieben, wie Sie die Richtlinien und Konfigurationen anpassen, um Ihre Dateien effektiv zu verwalten.
Richtlinien
Eine Richtlinie definiert den Vorgang, der für Dateien oder Verzeichnisse ausgeführt werden soll, und die Kriterien für die Auswahl von Zielen. Die verfügbaren Vorgänge sind in der Tabelle aufgeführt:
| Vorgangstyp | Parameter |
|---|---|
ARCHIVE | remove_file: Wenn true, wird die Datei nach der Archivierung entfernt. |
DELETE |
Die Kriterien basieren auf Dateiattributen und Systeminformationen. Die verfügbaren Kriterien sind in der Tabelle aufgeführt:
| Kriteriumstyp | Beschreibung | Parameter |
|---|---|---|
LAST_MODIFIED_TIME | Dateien nach dem Datum und der Uhrzeit der letzten Änderung filtern. | ttl: Es werden verschiedene Arten von Zeitausdrücken unterstützt, z. B. 10m, 2h, 7 days, 4w. Informationen zu unterstützten Formaten finden Sie unter pytimeparse. |
LAST_ACCESS_TIME | Filtern Sie Dateien nach dem Datum und der Uhrzeit des letzten Zugriffs. | Identisch mit LAST_MODIFIED_TIME. |
NAME_MATCH | Dateien anhand ihres Namens mithilfe eines regulären Ausdrucks filtern. | pattern: Regulärer Ausdruck, z. B. [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip, um ZIP-Dateien mit Ergebnissen abzugleichen. |
SYSTEM_AVAILABLE_SPACE | Aktionen basierend auf dem verfügbaren Speicherplatz im System auslösen. | threshold: Aktion auslösen, wenn der verfügbare Speicherplatz unter den Schwellenwert fällt, z. B. 200(B), 200KB, 200MB, 200GB, 2TB. |
Abbildung 53. Fügen Sie eine neue Richtlinie für die Dateibereinigung hinzu.
Konfigurationen
Eine Konfiguration kombiniert eine oder mehrere Richtlinien mit bestimmten Verzeichnissen. Die Dateien und Verzeichnisse in den angegebenen Verzeichnissen werden gemäß den definierten Richtlinien verarbeitet. Richtlinien werden in der Reihenfolge angewendet, in der sie in der Konfiguration angezeigt werden.
Alle Zielverzeichnisse müssen sich im Verzeichnis /data befinden. Wenn in Ihrer Konfiguration das Zielverzeichnis als logs angegeben ist, wird es als /data/logs interpretiert.
Abbildung 54. Bearbeiten Sie die Konfiguration des Dateireinigers.
Zurücksetzen
Wenn Sie auf Einstellungen zurücksetzen klicken, wird die Konfiguration des Dateireinigers auf den Standardzustand zurückgesetzt. Dadurch werden ALLE benutzerdefinierten Elemente gelöscht.
Abbildung 55: Einstellungen für die Dateibereinigung zurücksetzen.
Support
Fehlerberichte
Ihr Beitrag zu OmniLab ATS hilft uns, das Tool zu verbessern. Wir freuen uns auf Ihr Feedback. Weitere Informationen zum neuesten Release findest du in den OmniLab ATS-Versionshinweisen. Wenn Sie Fehler melden oder Vorschläge machen möchten, reichen Sie einen Fehlerbericht ein. Partner sollten Fehler oder Vorschläge über ihre Partnerkanäle melden.