OmniLab ATS ist ein Testtool, mit dem Android-Entwickler und ‑Testingenieure eine Benutzeroberfläche zum Ausführen standardmäßiger Android-Test-Suites wie der Android Compatibility Test Suite (CTS) verwenden können. Dieses Tool dient als Weboberfläche für verschiedene Test-Frameworks wie Trade Federation (TF) und Google Mobly. So können Sie CTS- und Mehrgerätetests mit minimaler Einrichtung auf einer Reihe von Testgeräten ausführen und einen Zeitplan für die kontinuierliche Durchführung von Tests festlegen.
OmniLab ATS einrichten
In diesem Abschnitt wird beschrieben, wie Sie OmniLab ATS installieren und einrichten.
OmniLab ATS verwendet Quellcode aus folgenden Quellen:
- Quellcode von OmniLab ATS
- Quellcode für TradeFed Cluster
OmniLab ATS installieren
Beachten Sie alle Hardware- und Softwareanforderungen für die von Ihnen ausgeführten Test-Suiten.
Die Anforderungen für CTS finden Sie unter source.android.com.
Für OmniLab ATS gelten 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, was die Installation mehrerer Programme und Ressourcen erfordert.
Installation mit dem Installationsprogramm
Unter Ubuntu 20.04 und höher installiert und konfiguriert das Installationsprogramm 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 version
aus, um die installierte Version der OmniLab ATS-Befehlszeile zu prüfen.
Manuell installieren
Docker installieren
Folgen Sie der Anleitung zum Installieren der Docker Community Edition (CE) auf Ihrem Linux-Computer.
Folgen Sie der Anleitung nach der Installation, um Docker als Nicht-Root-Nutzer zu verwalten.
Möglicherweise müssen Sie das Terminalfenster neu starten oder sich abmelden und wieder anmelden, damit die Berechtigungsänderungen wirksam werden.
Python 3 installieren
Die OmniLab ATS CLI wurde mit den Python-Versionen 3.7 bis 3.11 geprüft.
Bei Ubuntu 16.04 oder niedriger müssen Sie zuerst das Repository für Python 3 hinzufügen. Gehen Sie dazu so vor:
Führe folgenden Befehl aus:
sudo add-apt-repository ppa:deadsnakes/ppa
Erstellen und installieren Sie das Repository aus der Quelle.
Führen Sie die folgenden Befehle aus, um Python 3 zu installieren:
sudo apt-get update
sudo apt install python3 python3-distutils
Wenn Sie eine bestimmte Python 3-Version installieren möchten (z. B. 3.10), führen Sie stattdessen die folgenden Befehle aus:
sudo apt-get update
sudo apt install python3.10 python3.10-distutils
OmniLab ATS-Befehlszeile abrufen
Hier können Sie das Befehlszeilenpaket herunterladen.
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 lautet standardmäßig localhost:8000
. Bei Bedarf können Sie den Standardport beim Starten mit dem Flag --port
ändern.
Wenn eine neuere Version verfügbar ist, können Sie ein Update auf die aktuelle Version durchführen. Aktuelle Releases finden Sie in den Versionshinweisen.
Führen Sie zum Aktualisieren auf die aktuelle Version Folgendes aus:
mtt start --force_update
So beenden Sie die App:
mtt stop
So rufen Sie eine Liste anderer Befehle auf:
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, um die aktuelle Datenbank in einer TAR-Datei mit dem Namen mtt-backup.tar
in Ihrem Basisverzeichnis zu sichern:
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 zum Wiederherstellen den folgenden Befehl aus, bevor Sie die App starten:
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 zum ersten Mal installiert und ausgeführt haben, führt Sie der Einrichtungsassistent durch einige Schritte, mit denen Sie das Tool für Ihre Umgebung anpassen können. Alle hier vorgenommenen Änderungen können später auf der Seite „Einstellungen“ neu konfiguriert werden.
Konfigurationssicherung wiederherstellen
Wenn Sie eine Konfigurationsdatei gesichert haben, die von einem anderen OmniLab ATS-Host stammt, können Sie die Datei hochladen, um alle Konfigurationen zu kopieren, die von diesem Host geändert wurden. Klicken Sie dazu auf die Schaltfläche Datei hochladen.
Abbildung 1: Konfigurationssicherung wiederherstellen
Standarddienstkonto festlegen
Sie können ein Dienstkonto festlegen, das OmniLab ATS standardmäßig beim Zugriff auf Ihre Ressourcen verwendet (z. B. Google Cloud Storage, Google Drive). Klicken Sie zum Authentifizieren Ihres Dienstkontos auf Dienstkontoschlüssel hochladen und wählen Sie die JSON-Schlüsseldatei Ihres Dienstkontos aus.
Abbildung 2: Dienstkonto einrichten
Wenn die Authentifizierung des Dienstkontos erfolgreich war, wird die E-Mail-Adresse des Kontos rechts oben 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 Paket mit 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-Bucket) gehostet. Nachdem Sie den GCS-Build-Channel mit Ihrem Google-Konto authentifiziert haben, wird eine Liste aller verfügbaren Konfigurationssätze angezeigt.
Wählen Sie die Konfigurationssätze aus, die Sie dem Teststation-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 Ihr Gerät mit einem WLAN-Hotspot verbunden sein. Geben Sie die WLAN-SSID und optional das 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
Das USB-Debugging muss aktiviert sein, damit ein Gerät für Tests verwendet werden kann. So aktivieren Sie das Debuggen:
Folgen Sie der Anleitung unter Entwickleroptionen und Debugging aktivieren.
Wenn Sie benutzerdefinierte ADB-Schlüssel verwenden möchten, legen Sie die benutzerdefinierten
.adb_key
-Dateien im Verzeichnis~/.android/
ab.Die Dateien werden automatisch geladen und an ADB übergeben, um das USB-Debugging automatisch zu aktivieren, nachdem das Gerät mit diesen Builds geflasht wurde.
Verbinden Sie das Gerät über USB mit dem Hostcomputer.
Das Gerät wird innerhalb einer Minute nach dem Aktualisieren der Weboberfläche auf dem Tab „OmniLab ATS Devices“ angezeigt. Auf diesem Tab können Sie auch den Status der Geräte einsehen.
Abbildung 6 Ein Gerät verbinden
Die verschiedenen Gerätestatus sind:
- Verfügbar: Das Gerät ist verbunden und kann getestet werden.
- Zugewiesen: Das Gerät ist verbunden und führt einen Test durch. 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 gestartet werden kann.
Test durchführen
Test auswählen
OmniLab ATS enthält eine Reihe vorkonfigurierter 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. Wählen Sie einen Test aus.
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 bereits mit Werten aus der ausgewählten Testkonfiguration ausgefüllt.
Sie können diesen Schritt mit den Standardwerten ausführen. Sie können jedoch alle Parameter wie Max Retry und Command an Ihre Anforderungen anpassen.
Abbildung 8. Testlauf konfigurieren
Die Parameter für den Testlauf sind:
- Name: Name der Testsuite, die Sie ausführen möchten.
- Ausführungsanzahl: Gibt an, wie oft dieser Test gemäß Zeitplan ausgeführt werden soll. Testläufe werden mit Trade Federation geplant. Bei ausreichender Kapazität können bis zu 20 Testläufe parallel ausgeführt werden.
- Max. Wiederholung: Maximale Anzahl von Wiederholungen eines Testlaufs, wenn mindestens ein Test fehlschlägt. Für einen vollständigen CTS-Lauf wird in der Regel ein Wert von 4–6 Wiederholungen festgelegt, um fehlerhafte Tests zu verarbeiten.
- Warteschlangen-Zeitüberschreitung: Wenn ein Testlauf zu lange im Status In der Warteschlange verbleibt, wird er automatisch abgebrochen. Geben Sie hier an, wie lange gewartet werden soll, bevor die Kündigung wirksam wird. Der Standardwert ist 24 Stunden.
Befehl: Der Befehl zum Ausführen der Testsuite. Hier können Sie zusätzliche Befehlszeilenargumente eingeben. So führen Sie beispielsweise ein bestimmtes Modul in CTS 8.1 aus:
cts-suite -m ShortModuleName
Wiederholbefehl: Befehl zum Wiederholen einer Testsuite. Hier können Sie zusätzliche Befehlszeilenargumente hinzufügen. Wenn Sie beispielsweise nur ein bestimmtes Modul in CTS 8.1 noch einmal versuchen möchten, verwenden Sie Folgendes:
cts --retry 0 -m ShortModuleName
Die Argumente für den Wiederholungsversuch können sich von denen unterscheiden, die mit dem ursprünglichen Befehl verfügbar sind. Sehen Sie sich daher die unterstützten Parameter auf der offiziellen Website der ausgewählten Testsuite an.
Vorheriger Testlauf: Wenn Sie einen vorherigen Testlauf noch einmal ausführen möchten, gehen Sie so vor:
Lokal: Wenn die Ausführung auf dem aktuellen Host gestartet wurde, geben Sie die Testausführungs-ID ein, die Sie in den Details der Testausführung sehen.
Abbildung 9. Vorheriger lokaler Testlauf.
Remote: Wenn der Durchlauf auf einem anderen Host gestartet wurde, laden Sie die Testergebnisdatei hoch. Wählen Sie dazu Remote aus, klicken Sie auf Testergebnisdatei hochladen und wählen Sie eine Datei aus Ihrem lokalen Speicher aus.
Abbildung 10. Vorherigen Test aus der Ferne ausführen
Geräte auswählen
Klicken Sie die Kästchen an, um die Geräte auszuwählen, die für die Ausführung der Testsuite 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äteserie auswählen möchten, können Sie „Gerätedaten“ 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 Test ausgeführt werden kann. Sie wechseln alle in den Status Zugewiesen, wenn der Test ausgeführt wird. Ein Testlauf befindet sich im Status In der Warteschlange, während auf verfügbare Geräte gewartet wird.
Geräteaktionen hinzufügen
Geräteaktionen sind Scripts, 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 die Häkchen für die hinzuzufügenden Aktionen und klicken Sie auf Aktion(en) hinzufügen. Geräteaktionen werden nacheinander ausgeführt. Sie können die Aktionen durch Ziehen neu anordnen.
Abbildung 13 Aktionen neu anordnen
Testressourcen festlegen
Testressourcen sind Dateien, die für die Ausführung eines Tests erforderlich sind. Für das Ausführen von CTS ist beispielsweise eine android-cts*.zip
-Datei erforderlich und zum Flashen eines Geräts müssen Sie das Build-Image angeben.
Die Download-URL für die ZIP-Datei der Testsuite sollte standardmäßig auf die Google Drive-Links verweisen, die Partnern zur Verfügung gestellt wurden. Sie können eine andere Datei auswählen, indem Sie auf Durchsuchen klicken. Im Pop-up-Fenster können Sie einen Link zum Herunterladen einer 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, in dem Sie eine Testressource über eine Web-URL auswählen können. Sie können die URL des Downloadlinks eingeben und auf die Schaltfläche Auswählen klicken, um die Auswahl zu bestätigen.
Abbildung 15. Test Resource Selector – Web-URL
Wenn Sie Ressourcen in Google Drive, Google Cloud Storage (GCS) oder andere Channels hochgeladen haben, können Sie auch den Tab des jeweiligen Channels aufrufen und dort Ressourcen auswählen. Hier ist ein Beispiel für die Auswahl einer Ressource aus Google Drive.
Abbildung 16: Test Resource Selector – Google Drive
Neben der Auswahl von Dateien werden im Feld Dateiname auch Platzhalterzeichen unterstützt. Die Dokumentation finden Sie hier.
Abbildung 17. Test Resource Selector – 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 Test Resource Selector – Local file store
Konfigurationen für Wiederholungen hinzufügen
Sie können Wiederholungen planen, die nach Abschluss des primären Durchlaufs beginnen und dessen Ergebnisse laden, aber andere Geräte, Aktionen oder Ressourcen verwenden.
Abbildung 19. Konfigurationen für Wiederholungen hinzufügen
Testlauf starten
Nachdem Sie die für den Testlauf erforderlichen Informationen eingegeben haben, klicken Sie auf Testlauf starten. Wenn alle Informationen gültig sind, beginnt der Testlauf 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
Mit Testplänen können Sie Testläufe nach einem regelmäßigen Zeitplan erstellen. Beispiel: CTS 9.0 wird täglich um 17:00 Uhr ausgeführt. Klicken Sie auf Neuen Testplan erstellen, um einen neuen Testplan zu erstellen.
Abbildung 21. Erstellen eines Testplans.
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: Im Testplan werden nur Testläufe erstellt, wenn ein Nutzer auf der Seite mit der Testplanliste auf Testplan ausführen klickt.
- Periodisch: Im Testplan werden Testläufe automatisch nach dem ausgewählten regelmäßigen Zeitplan geplant. Beispiel: Sie können einen Testlauf täglich um 17:00 Uhr planen.
- Benutzerdefiniert: Der Testplan plant Testläufe automatisch basierend auf dem eingegebenen Cron-Ausdruck. Wenn Sie beispielsweise einen Testlauf jeden Tag um 17:00 Uhr planen möchten, lautet der Cron-Ausdruck
0 17 * * *
.
Abbildung 22. Testplan konfigurieren
Test-Suites hinzufügen
Klicken Sie auf + Konfiguration für Testausführung hinzufügen, um Test-Suites hinzuzufügen, die vom Testplan geplant werden sollen. Wählen Sie im Drop-down-Menü Name eine Testsuite 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 jedem 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 finden Sie unter Geräteaktionen hinzufügen.
Abbildung 24 Geräteaktionen hinzufügen
Testressourcen festlegen
Das Hinzufügen von Testressourcen zu Testplänen entspricht dem Hinzufügen zu einzelnen Testläufen. Weitere Informationen finden Sie unter Testressourcen festlegen.
Abbildung 25. Testressourcen festlegen
Testläufe ansehen
Liste der Testläufe
Auf der Seite „Testläufe“ finden Sie eine Liste der geplanten Testläufe. Klicken Sie auf Anzeigen, 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 in einer beliebigen Spalte enthalten (keine Übereinstimmung mit einem Teilstring), 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.
Testlaufdetails
Hier finden Sie die Details eines Testlaufs, z. B. den Status, Protokolle und Ergebnisse.
Abbildung 27. Details zur Testausführung.
Testlaufstatus
Der Fortschritt eines Testlaufs wird im Abschnitt „Status“ angezeigt. Falls es eine zugehörige Meldung gibt, z. B. zum Downloadfortschritt, zum Kündigungsgrund oder zu einer Fehlermeldung, wird sie hier ebenfalls angezeigt.
Abbildung 28 Status der Testausführung.
Die Testlaufzustände 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 erfasst.
- Abgebrochen: Der Test wurde vom Nutzer abgebrochen oder es trat eine Zeitüberschreitung auf, während nach verfügbaren Geräten gesucht wurde.
- Fehler: Ein Fehler ist aufgetreten, der das Ausführen des Tests verhindert hat.
Testlauf abbrechen
Wenn der Test noch nicht abgeschlossen ist, können Sie ihn abbrechen. Klicken Sie dazu auf Abbrechen und dann im Bestätigungsdialogfeld auf Ja. Testläufe werden außerdem automatisch abgebrochen, wenn sie länger als das Feld queue_timeout_seconds im Status Queued (In der Warteschlange) bleiben. Wenn Sie einen Test abbrechen, während er läuft, kann es einige Minuten dauern, bis die Änderung wirksam wird.
Abbildung 29. Testlauf abbrechen
Testlaufergebnisse
Nach Abschluss eines Testlaufs werden die Ergebnisse erfasst und angezeigt. Wenn Sie zusätzliche Details sehen möchten, klicken Sie auf den Pfeil neben der jeweiligen Ausführung. Klicken Sie auf Ausgabedateien ansehen, um die erfassten Testartefakte wie test_result.xml
und test_result_failures.html
aufzurufen.
Abbildung 30. Testlaufergebnisse
Auf dem Tab „Protokolle“ findest du Live-Host- und Tradefed-Protokolle.
Abbildung 31: Tab „Protokolle“
Die Ergebnisse für einzelne Module finden Sie auf dem Tab „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“
Auf dem Tab „Konfiguration“ finden Sie Details zum Testlauf, z. B. create_time.
Abbildung 34 Tab „Konfiguration“
Erweiterte Funktionen
Konfigurationsdateien verwalten
OmniLab ATS verwendet Konfigurationsdateien im YAML-Format, um vordefinierte Optionen wie Tests, Build-Kanäle und Geräteaktionen zu laden. Hier ist eine Beispielkonfigurationsdatei:
// 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 die Konfiguration mit anderen Nutzern teilen, indem Sie sie als Datei exportieren. Rufen Sie dazu die Seite „Einstellungen“ auf und klicken Sie oben rechts auf Exportieren.
Abbildung 35 Verwaltung von Konfigurationsdateien
Nachdem Sie die Konfigurationsdatei heruntergeladen haben, geben Sie sie für andere Nutzer frei. 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 Geräteeinrichtung zu automatisieren. Aktionen sind Scripts, die vor jedem Testlauf auf jedem Gerät ausgeführt werden, auf dem der Test ausgeführt wird, auch vor Wiederholungen. 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: Schaltfläche für die Aktion „Neues Gerät“
Geben Sie einen Namen und eine Beschreibung ein.
Abbildung 38. Name der Geräteaktion.
Klicken Sie auf Zielbearbeiter 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 Zielvorbereitungstools finden Sie in der Referenz com.android.tradefed.targetprep.
Abbildung 40: Liste der Zielvorbereiter.
Fügen Sie Optionen hinzu, die mit dem Zielvorbereitungstool verwendet werden sollen. Informationen zu den verfügbaren Optionen finden Sie unter targetprep im Quellcode für jeden Zielvorbereiter in AOSP:
Abbildung 41: Beispiel für eine Aktionsoption
Wenn Sie eine Option hinzufügen möchten, klicken Sie auf Option für Zielbearbeiter 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 für das Flashen. Wenn Sie eine Ressourcendefinition hinzufügen möchten, klicken Sie auf Testressource hinzufügen und füllen Sie die Pflichtfelder aus. Wenn Sie wissen, wo sich Ihre Dateien befinden, können Sie eine Standard-Download-URL angeben, indem Sie auf Durchsuchen klicken. Wenn die Zielbearbeiter das Verzeichnis als Testressource akzeptieren, wählen Sie Entpacken aus. Geben Sie dann das relative Zielverzeichnis unter dem temporären Arbeitsverzeichnis und die zu dekomprimierenden Dateienamen an. Wenn keine Dateinamen angegeben werden, werden alle Dateien aus der Testressource dekomprimiert.
Abbildung 43: Ressourcen für Aktionstests
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 Sie bearbeiten einen Test.
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 oben rechts 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 Importieren einer Hostkonfiguration
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 Wählen Sie eine Datei aus dem Verzeichnis $HOME/.ats_storage
aus.
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.
Mehrfachhost-Modus aktivieren
Im Mehrfachhost-Modus können Nutzer mit einem einzigen ATS-Controller-Host die Geräte und Tests auf mehreren ATS-Worker-Hosts verwalten.
Abbildung 52. Architektur mit Multi-Host-Modus
Verwenden Sie den folgenden Befehl, um den ATS-Controller zu starten:
mtt start --operation_mode=ON_PREMISE
Prüfen Sie, ob auf den Controller unter
http://${CONTROLLER_HOSTNAME}:8000
zugegriffen werden kann.Verwenden Sie den folgenden Befehl, um die Worker zu starten:
mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
Wenn in Ihrem Netzwerk keine Kommunikation zwischen Hosts möglich ist, folgen Sie der Anleitung unten für die erweiterte Einrichtung des ATS-Workers.
Verbinden Sie die beiden Hosts über SSH-Tunnel. Wählen Sie Ports für den primären und den Dateiserver aus, z. B. 9000 und 9006.
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
Konfigurieren 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
Datei-Cleaner
Der Dateibereiniger ist ein Cron-Job, der stündlich ausgeführt wird, um Dateien basierend auf benutzerdefinierten Konfigurationen zu bereinigen. ATS bietet zwei Standardkonfigurationen zum Archivieren von Testlaufergebnissen und zum Löschen temporärer Dateien. In diesem Leitfaden wird erläutert, wie Sie die Richtlinien und Konfigurationen anpassen, um Ihre Dateien effektiv zu verwalten.
Richtlinien
Eine Richtlinie definiert den Vorgang, der auf Dateien oder Verzeichnissen 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 , entfernen Sie die Datei nach dem Archivieren. |
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 Datum und Uhrzeit der letzten Änderung filtern | ttl : Es werden verschiedene Arten von Zeitangaben unterstützt, z. B. 10m , 2h , 7 days und 4w . Unterstützte Formate finden Sie unter pytimeparse . |
LAST_ACCESS_TIME | Dateien nach Datum und Uhrzeit des letzten Zugriffs filtern | Gleich wie bei LAST_MODIFIED_TIME . |
NAME_MATCH | Dateien anhand ihres Namens mit regulären Ausdrücken filtern | pattern : Regulärer Ausdruck, z. B. [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip , um ZIP-Dateien zu finden. |
SYSTEM_AVAILABLE_SPACE | Aktionen basierend auf dem verfügbaren Speicherplatz auf dem System auslösen | threshold : Aktion auslösen, wenn der verfügbare Speicherplatz unter den Grenzwert 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 aufgeführt sind.
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 Dateibereinigers.
Zurücksetzen
Wenn Sie auf Einstellungen zurücksetzen klicken, wird die Konfiguration des Dateibereinigungstools 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 weiterzuentwickeln. Wir freuen uns auf Ihr Feedback! Weitere Informationen zur neuesten Version finden Sie in den OmniLab ATS-Versionshinweisen. Wenn Sie Fehler melden oder Vorschläge machen möchten, erstellen Sie einen Fehlerbericht. Partner sollten Fehler oder Vorschläge über ihre Partnerkanäle melden.