OmniLab ATS ist ein Testtool, mit dem Android-Entwickler und ‑Tester eine Benutzeroberfläche zum Ausführen von Standard-Android-Testsuiten wie der Android Compatibility Test Suite (CTS) verwenden können. Dieses Tool dient als Weboberfläche für verschiedene Testframeworks wie Trade Federation (TF) und Google Mobly. Damit können Sie CTS- und Multi-Device-Tests auf einer Reihe von Testgeräten mit minimalem Setup ausführen und einen Zeitplan für das kontinuierliche Ausführen von Tests erstellen.
OmniLab ATS einrichten
In diesem Abschnitt wird beschrieben, wie Sie OmniLab ATS installieren und einrichten.
OmniLab ATS verwendet Quellcode aus den folgenden Quellen:
- OmniLab ATS-Quellcode
- TradeFed Cluster-Quellcode
OmniLab ATS installieren
Beachten Sie alle Hardware- und Softwareanforderungen für die Test-Suites, die Sie ausführen.
Die Anforderungen für CTS finden Sie 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.
- Manuelle Installation: Hierfür müssen mehrere Programme und Ressourcen installiert werden.
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 CLI zu prüfen.
Manuell installieren
Docker installieren
Folgen Sie der Anleitung zur Installation der Docker Community Edition (CE) auf Ihrer Linux-Maschine.
Folgen Sie der Anleitung nach der Installation für die Verwaltung von Docker als Nicht-Root-Nutzer.
Möglicherweise müssen Sie das Terminalfenster neu starten oder sich ab- 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 getestet.
Bei Ubuntu 16.04 oder früher 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 (z. B. 3.10) installieren möchten, führen Sie stattdessen diese Befehle aus:
sudo apt-get update
sudo apt install python3.10 python3.10-distutils
OmniLab ATS-Befehlszeile herunterladen
Laden Sie das Befehlszeilenpaket hier 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. In der CLI wird eine Web-URL angezeigt, ü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.
Wenn eine neuere Version verfügbar ist, können Sie ein Update auf die aktuelle Version durchführen. Informationen zu den neuesten Releases finden Sie in den Versionshinweisen.
So aktualisieren Sie auf die aktuelle Version:
mtt start --force_update
So beenden Sie die App:
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 Daten wiederherzustellen:
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, werden Sie vom Einrichtungsassistenten durch einige Schritte geführt, mit denen Sie das Tool an Ihre Umgebung anpassen können. Alle Änderungen, die Sie hier vornehmen, können später über die 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 Konfigurationen zu kopieren, die auf 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 für den Zugriff auf Ihre Ressourcen verwendet, z. B. Google Cloud Storage oder 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 festlegen
Wenn das Dienstkonto erfolgreich authentifiziert wurde, 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: Das Dienstkonto wird geändert.
Konfigurationssätze importieren
Ein Konfigurationssatz ist ein Bündel von Konfigurationen zum Ausführen von Testsuites, einschließlich zugehöriger Geräteaktionen und Build-Channels. Konfigurationssätze werden in einem bestimmten Google Cloud Storage-Bucket (GCS) gehostet. Nachdem Sie den GCS-Build-Channel mit Ihrem Google-Konto authentifiziert haben, wird eine Liste aller für Sie verfügbaren Konfigurationssätze angezeigt.
Wählen Sie die Konfigurationssätze aus, die Sie dem 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 Ihr Gerät eine Verbindung zu einem WLAN-Hotspot herstellen. 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 Sie Test-Android-Builds verwenden möchten, die mit benutzerdefinierten ADB-Schlüsseln vorinstalliert sind, legen Sie die benutzerdefinierten
.adb_key
-Dateien in das Verzeichnis~/.android/
.Die Dateien werden automatisch geladen und an ADB übergeben, um das USB-Debugging nach dem Flashen des Geräts automatisch zu aktivieren. Das gilt für Geräte, auf denen diese Builds ausgeführt werden.
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 sehen.
Abbildung 6 Gerät verbinden
Die verschiedenen Gerätestatus sind:
- 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 den aktuellen Test also beenden, bevor ein neuer Test ausgeführt werden kann.
Test durchführen
Test auswählen
OmniLab ATS enthält eine Reihe von vorab gebündelten 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 bestimmten Testlauf verwendet werden sollen. Die meisten Parameter sind bereits mit Werten aus der ausgewählten Testkonfiguration gefüllt.
Dieser Schritt kann mit den Standardwerten abgeschlossen werden. Sie können jedoch alle Parameter wie Max Retry und Command nach Bedarf ändern.
Abbildung 8. Testlauf konfigurieren
Die Testlaufparameter sind:
- Name: Name der Testsuite, die Sie ausführen möchten.
- Anzahl der Ausführungen: Anzahl der Ausführungen dieses Testlaufs bei der Planung. 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 ausreicht.
- Max. Retry (Maximale Anzahl von Wiederholungsversuchen): Die maximale Anzahl von Wiederholungsversuchen für einen Testlauf, wenn mindestens ein Test fehlschlägt. Für einen vollständigen CTS-Lauf werden in der Regel 4–6 Wiederholungsversuche festgelegt, um instabile Tests zu verarbeiten.
- Zeitüberschreitung in der Warteschlange: 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 erfolgt. 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
Retry Command (Befehl zum Wiederholen) – Der 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 ausführen möchten, verwenden Sie:
cts --retry 0 -m ShortModuleName
Die Argumente für den Wiederholungsversuch können sich von denen des ursprünglichen Befehls unterscheiden. Sehen Sie daher auf der offiziellen Website der ausgewählten Testsuite nach, welche Parameter unterstützt werden.
Vorheriger Testlauf: Wenn Sie einen vorherigen Testlauf noch einmal ausführen möchten:
Lokal: Wenn der Lauf auf dem aktuellen Host gestartet wurde, geben Sie die Testlauf-ID ein, die in den Details des Testlaufs angezeigt wird.
Abbildung 9. Lokaler vorheriger Testlauf.
Remote: Wenn der Lauf auf einem anderen Host gestartet wurde, laden Sie die Datei mit den Testergebnissen hoch. Wählen Sie dazu Remote aus, klicken Sie auf Datei mit Testergebnissen hochladen und wählen Sie eine Datei aus Ihrem lokalen Speicher aus.
Abbildung 10. Vorherigen Testlauf entfernen.
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 anhand anderer Attribute als der Gerätenummer auswählen möchten, können Sie die Gerätespezifikationen manuell eingeben. Wenn Sie beispielsweise drei Geräte auswählen möchten, deren Produktname „bramble“ lautet, 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. Während des Testlaufs 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 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 neu anordnen, indem Sie sie an die gewünschte Position ziehen.
Abbildung 13. Aktionen neu anordnen
Testressourcen festlegen
Testressourcen sind Dateien, die zum Ausführen eines Testlaufs erforderlich sind. Für das Ausführen von CTS ist beispielsweise eine android-cts*.zip
-Datei erforderlich und für das 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 werden. 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-Channel 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 die Download-URL eingeben und auf die Schaltfläche Auswählen klicken, um die Auswahl zu bestätigen.
Abbildung 15. Test-Ressourcenauswahl – Web-URL.
Wenn Sie Ressourcen in Google Drive, Google Cloud Storage (GCS) oder andere Kanäle hochgeladen haben, können Sie auch zum Tab des jeweiligen Kanals wechseln und dort Ressourcen auswählen. Hier sehen Sie ein Beispiel für die Auswahl einer Ressource aus Google Drive.
Abbildung 16: Resource Selector testen – Google Drive
Neben der Auswahl von Dateien werden auch Platzhalterzeichen im Feld Dateiname 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 der Ressourcenauswahl – Lokaler Dateispeicher
Konfigurationen für 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 erneute Ausführung 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, 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 wird gestartet.
Testplan erstellen
Mit Testplänen werden Testläufe nach einem regelmäßigen Zeitplan erstellt. 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: Testläufe werden nur erstellt, wenn ein Nutzer auf der Seite mit der Testplanliste auf Testplan ausführen klickt.
- Regelmäßig: Im Testplan werden Testläufe automatisch nach dem ausgewählten regelmäßigen Zeitplan geplant. Sie können beispielsweise festlegen, dass ein Testlauf jeden Tag um 17:00 Uhr ausgeführt wird.
- Benutzerdefiniert: Testläufe werden automatisch anhand des eingegebenen Cron-Ausdrucks geplant. Wenn Sie beispielsweise einen Testlauf für 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 + Testlaufkonfiguration 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 funktioniert genauso wie das Hinzufügen zu einzelnen Testläufen. Weitere Informationen finden Sie unter Testressourcen festlegen.
Abbildung 25. Testressourcen festlegen
Testläufe ansehen
Liste der Testläufe
Die Liste der geplanten Testläufe finden Sie auf der Seite „Testläufe“. Klicken Sie auf Ansehen, um weitere Details zu einem Testlauf zu sehen.
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 Protokolle und die Ergebnisse.
Abbildung 27. Details zum Testlauf.
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 eine Fehlermeldung, wird sie hier ebenfalls angezeigt.
Abbildung 28. Status des Testlaufs.
Die Testlaufstatus sind:
- Ausstehend: Die erforderlichen 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 wurde abgeschlossen und die Ergebnisse wurden gemeldet.
- Canceled (Abgebrochen): Der Test wurde vom Nutzer abgebrochen oder es ist ein Zeitüberschreitungsfehler aufgetreten, als versucht wurde, verfügbare Geräte zu finden.
- Fehler: Es ist ein Fehler aufgetreten, der verhindert hat, dass der Test ausgeführt wurde.
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 Queued (In der Warteschlange) verbleiben. Das Abbrechen eines Testlaufs im Status Wird ausgeführt kann einige Minuten dauern.
Abbildung 29. Testlauf abbrechen
Ergebnisse des Testlaufs
Nach Abschluss eines Testlaufs werden die Ergebnisse erfasst und angezeigt. Wenn Sie weitere Details sehen möchten, klicken Sie für den jeweiligen Lauf auf den Pfeil. Klicken Sie auf Ausgabedateien ansehen, um die gesammelten Testartefakte wie test_result.xml
und test_result_failures.html
aufzurufen.
Abbildung 30. Ergebnisse des Testlaufs
Live-Host- und Tradefed-Logs können Sie auf dem Tab „Logs“ aufrufen.
Abbildung 31: Tab „Logs“
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“
Wenn Sie die Details des Testlaufs wie create_time aufrufen möchten, klicken Sie auf den Tab „Konfiguration“.
Abbildung 34. Tab „Konfiguration“
Erweiterte Funktionen
Konfigurationsdateien verwalten
OmniLab ATS verwendet Konfigurationsdateien, die in YAML geschrieben sind, um vordefinierte Optionen wie Tests, Build-Channels und Geräteaktionen zu laden. Hier sehen Sie 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 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 Skripts, die auf jedem Gerät ausgeführt werden, auf dem der Test ausgeführt wird, und zwar vor jedem Testlauf, auch vor Wiederholungsversuchen. Eine Liste der verfügbaren Geräteaktionen finden Sie auf der Seite „Einstellungen“ auf dem Tab „Geräteaktionen“. Mehrere 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 neue Geräteaktionen
Geben Sie einen Namen und eine Beschreibung ein.
Abbildung 38. Name der Geräteaktion.
Klicken Sie auf Zielvorbereitung 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 TargetPreparer finden Sie in der Referenz zu com.android.tradefed.targetprep.
Abbildung 40: Liste der Zielvorbereiter.
Fügen Sie alle Optionen hinzu, die mit dem Zielvorbereitungs-Tool verwendet werden sollen. Die verfügbaren Optionen finden Sie im Quellcode für jeden Target-Preparer in AOSP unter targetprep:
Abbildung 41 Beispiel für eine Aktionsoption
Wenn Sie eine Option hinzufügen möchten, klicken Sie auf Option für die Zielvorbereitung 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. 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 Zielvorbereiter das Verzeichnis als Testressource akzeptieren, wählen Sie Entpacken aus. Geben Sie dann das relative Zielverzeichnis unter dem temporären Arbeitsverzeichnis und die Dateinamen an, die dekomprimiert werden sollen. 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 verfügbar. Kopieren oder verschieben Sie eine Datei in dieses Verzeichnis. Sie können sie dann beim Planen eines Testlaufs auf dem Tab Lokale Datei auswählen.
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 in den lokalen Dateispeicher einbinden.
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 gemountet sind.
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 des Modus für mehrere Hosts
Verwenden Sie den folgenden Befehl, um den ATS-Controller zu starten:
mtt start --operation_mode=ON_PREMISE
Prüfen Sie, ob der Controller unter
http://${CONTROLLER_HOSTNAME}:8000
erreichbar 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 in Ihrem Netzwerk keine Kommunikation zwischen Hosts möglich ist, müssen Sie die unten stehende erweiterte Einrichtungsanleitung für ATS-Worker befolgen.
Stellen Sie eine Verbindung zwischen den beiden Hosts über SSH-Tunnel her. Wählen Sie Ports für die primären und die Dateiserverports aus, z. B. 9000 und 9006.
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
ATS konfigurieren und starten
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
Dateimanager
Der Dateibereiniger ist ein Cron-Job, der stündlich ausgeführt wird, um Dateien basierend auf benutzerdefinierten Konfigurationen zu bereinigen. ATS hat zwei Standardkonfigurationen zum Archivieren von Testergebnissen 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 für Dateien oder Verzeichnisse ausgeführt werden soll, und die Kriterien zum Auswählen 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 der Archivierung. |
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 , 4w . Informationen zu unterstützten Formaten finden Sie unter pytimeparse . |
LAST_ACCESS_TIME | Dateien nach Datum und Uhrzeit des letzten Zugriffs filtern | Identisch mit 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 mit Ergebnis-Zips übereinzustimmen. |
SYSTEM_AVAILABLE_SPACE | Aktionen basierend auf dem verfügbaren Speicherplatz auf dem System auslösen | threshold : Löst eine Aktion aus, 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
In einer Konfiguration werden eine oder mehrere Richtlinien mit bestimmten Verzeichnissen kombiniert. 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 Dateibereinigungstools.
Zurücksetzen
Wenn Sie auf Einstellungen zurücksetzen klicken, wird die Konfiguration des Dateibereinigungstools auf den Standardzustand zurückgesetzt. Durch diese Aktion werden ALLE benutzerdefinierten Elemente entfernt.
Abbildung 55. Einstellungen für den Dateimanager zurücksetzen
Support
Fehlerberichte
Ihre Beiträge zu OmniLab ATS helfen uns, das Tool weiterzuentwickeln. Wir freuen uns auf Ihr Feedback. Weitere Informationen zum aktuellen Release finden Sie 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.