OmniLab ATS ist ein Testtool für Android-Entwickler und Testentwickler eine Benutzeroberfläche zum Ausführen standardmäßiger Android-Testsuites wie die Android Compatibility Test Suite (CTS) Dieses Tool dient als Weboberfläche für verschiedene Test-Frameworks, z. B. Handelsföderation (TF) und Google Mobly, mit dem Sie CTS und Tests für mehrere Geräte auf einer Reihe von Testgeräten mit minimalem Einrichtungsaufwand sowie einen Zeitplan für die kontinuierliche Durchführung von Tests erstellen.
OmniLab ATS einrichten
In diesem Abschnitt wird erläutert, wie Sie OmniLab ATS installieren und einrichten.
OmniLab ATS verwendet Quellcode aus folgenden Quellen:
- OmniLab ATS Quellcode
- Quellcode des TradeFed-Clusters
OmniLab ATS installieren
Beachten Sie alle Hardware- und Softwareanforderungen für die von Ihnen ausgeführten Testsuiten.
Die Anforderungen für CTS finden Sie auf der source.android.com
Für OmniLab ATS gibt es keine zusätzlichen Hardwareanforderungen, wir empfehlen jedoch, mit CTS-Hostanforderung als Ausgangspunkt.
Es gibt zwei Möglichkeiten, OmniLab ATS zu installieren:
- Führen Sie das Installationsprogramm aus.
- Manuell installieren. Dafür müssen mehrere Programmen und Ressourcen.
Mit dem Installationsprogramm installieren
Auf Ubuntu 20.04+ werden alle Programme vom Installationsprogramm installiert und konfiguriert. und die für die Ausführung von OmniLab ATS erforderlichen Ressourcen.
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 Installationsanleitung für die Docker Community Edition (CE) auf Ihrem Linux-Computer.
Folgen Sie Schritte nach der Installation, um Docker als Nicht-Root-Nutzer zu verwalten
Möglicherweise müssen Sie das Terminalfenster neu starten oder sich abmelden und dann wieder anmelden damit die Änderungen an den Berechtigungen wirksam werden.
Python 3 installieren
Die OmniLab ATS CLI ist mit den Python-Versionen 3.7 bis 3.11 verglichen.
Fügen Sie unter Ubuntu 16.04 oder niedriger zuerst das Repository für Python 3 hinzu, indem Sie zu verwenden:
Führe folgenden Befehl aus:
sudo add-apt-repository ppa:deadsnakes/ppa
Repository erstellen und installieren 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
Führen Sie die folgenden Befehle aus, um eine bestimmte Python 3-Version (z. B. 3.10) zu installieren stattdessen:
sudo apt-get update
sudo apt install python3.10 python3.10-distutils
OmniLab ATS CLI herunterladen
Laden Sie hier das Befehlszeilenpaket herunter.
OmniLab ATS starten
Starten Sie OmniLab ATS mit dem folgenden Befehl:
mtt start
Beim ersten Start der Benutzeroberfläche kann es einige Minuten dauern, bis sie angezeigt wird. Befehlszeile
zeigt eine Web-URL für den Zugriff auf die Benutzeroberfläche in einem Browser an. Standardmäßig lautet die Web-URL
localhost:8000
Bei Bedarf können Sie den Standardport beim Start mit
Das Flag --port
.
Wenn eine neuere Version verfügbar ist, kannst du sie auf die aktuelle Version aktualisieren. Sie können finden Sie in den Versionshinweisen. für die neuesten Releases.
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 App zu beenden:
mtt stop
Um eine Liste anderer Befehle anzuzeigen, verwenden Sie:
mtt --help
Datenbank sichern und wiederherstellen
Beenden Sie zum Sichern der OmniLab ATS-Datenbank die App und führen Sie den folgenden Befehl aus:
die die aktuelle Datenbank in einer TAR-Datei namens mtt-backup.tar
in
Ihrem Basisverzeichnis:
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, können Sie das Tool in wenigen Schritten an Ihre Umgebung anpassen. Beliebig Änderungen, die Sie hier vornehmen, können später auf der Seite „Einstellungen“ neu konfiguriert werden.
Konfigurationssicherung wiederherstellen
Wenn Sie eine Konfigurationsdatei gesichert haben, einen anderen OmniLab ATS-Host haben, können Sie die Datei hochladen, um die von diesem Host geändert wurden, indem Sie auf die Schaltfläche Datei hochladen klicken.
Abbildung 1: Konfigurationssicherung wiederherstellen
Standarddienstkonto festlegen
Sie können ein Dienstkonto die OmniLab ATS standardmäßig beim Zugriff auf Ihre Ressourcen (z. B. Google Cloud Storage oder Google Drive). Klicken Sie zum Authentifizieren Ihres Dienstkontos auf Laden Sie den Dienstkontoschlüssel hoch und wählen Sie die JSON-Schlüsseldatei Ihres Dienstkontos aus.
Abbildung 2: Dienstkonto wird festgelegt.
Nach erfolgreicher Authentifizierung des Dienstkontos wird die E-Mail-Adresse des Kontos Die Adresse wird rechts oben auf der Seite angezeigt. Dienst ändern auf den Kontonamen klicken, das aktuelle Standardkonto entfernen und einen neuen Dienstkontoschlüssel.
Abbildung 3: Das Dienstkonto wird geändert.
Konfigurationssätze importieren
Ein Konfigurationssatz ist ein Bundle von Konfigurationen zum Ausführen von Testsuiten, einschließlich zugehöriger Geräteaktionen verwenden und Channels erstellen. Konfigurationssätze werden in einer bestimmten Google- Cloud Storage-Bucket (GCS). Nachdem Sie den GCS-Build-Kanal bei Ihrem Google-Konto haben, sehen Sie eine Liste aller Konfigurationssätze, die Ihnen zur Verfügung stehen.
Wählen Sie alle 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
Bei einigen CTS-Tests muss sich Ihr Gerät mit einem WLAN-Hotspot verbinden. So wählen Sie die WLAN: Geben Sie die WLAN-SSID und optional den WLAN-PSK ein.
Abbildung 5: WLAN-Hotspot-Einstellungen.
Nach Abschluss des Einrichtungsassistenten wird die Seite mit den neuen Einstellungen aktualisiert angewendet.
Gerät verbinden
USB-Debugging muss aktiviert sein, um ein Gerät zum Testen zu verwenden. So aktivieren Sie die Fehlerbehebung:
Folgen Sie dazu der Anleitung unter Aktivieren Sie Entwickleroptionen und Fehlerbehebung.
Wenn Sie Android-Test-Builds verwenden möchten, auf denen benutzerdefinierte ADB-Schlüssel vorinstalliert sind, geben Sie die benutzerdefinierten
.adb_key
-Dateien im Verzeichnis~/.android/
.Die Dateien werden automatisch geladen und an ADB übergeben, um USB automatisch zu aktivieren. Fehlerbehebung nach dem Flash 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 Start auf dem Tab „OmniLab ATS Devices“ die Weboberfläche aktualisiert. Sie können sich auch den Status der Geräte dieser Registerkarte.
Abbildung 6: Ein Gerät wird verbunden.
Die verschiedenen Gerätestatus sind:
- Verfügbar: Das Gerät ist verbunden und bereit, einen Test auszuführen.
- Zugewiesen: Das Gerät ist verbunden und wird gerade getestet. Jedes Gerät kann jeweils nur einen Test durchführen, daher muss das Gerät seine bevor Sie einen neuen Test durchführen.
Test durchführen
Test auswählen
OmniLab ATS enthält eine Reihe vorab gebündelter CTS-Konfigurationen. Um eine der folgenden Aktionen auszuführen: rufen Sie den Tab "Test Suites" auf und klicken Sie für die ausgewählten testen.
Abbildung 7: Einen Test auswählen
Informationen zum Bearbeiten oder Hinzufügen neuer Tests finden Sie unter Tests hinzufügen.
Testlauf konfigurieren
Bearbeiten Sie die Parameter, die für diesen spezifischen Testlauf verwendet werden sollen. Die meisten Parameter sind mit Werten gefüllt, die in der ausgewählten Testkonfiguration definiert sind.
Dieser Schritt kann mit den Standardwerten ausgeführt werden, Sie können aber alle Parameter wie Max Wiederholen und Befehl an Ihre Anforderungen anzupassen.
Abbildung 8: Testlauf konfigurieren
Die Parameter für den Testlauf sind:
- Name: Name der Testsuite, die du ausführen möchtest.
- Ausführungsanzahl: die Häufigkeit, mit der dieser Testlauf ausgeführt werden soll, wenn geplant. Testausführungen werden geplant mit Handelsföderation mit bis zu 20 Testläufen parallel, falls genügend Kapazität dafür vorhanden ist.
- Max. Wiederholung: Maximale Anzahl der Wiederholungen für einen Testlauf, wenn mindestens ein Testlauf durchgeführt wurde der Test schlägt fehl. Dieser Wert ist normalerweise auf 4–6 Wiederholungen eingestellt, damit eine vollständige CTS-Ausführung instabilen Tests bewältigt werden.
- Zeitüberschreitung für Warteschlange: Wenn ein Testlauf zu lange im Status Queued (In der Warteschlange) verbleibt, wird er automatisch abgebrochen. Geben Sie an, wie lange gewartet werden soll Kündigung. Der Standardwert ist 24 Stunden.
Befehl: Der Befehl zum Ausführen der Testsuite. Sie können zusätzliche Befehlszeilenargumente. Beispiel: Ein bestimmtes Modul in CTS 8.1 ausführen durch:
cts-suite -m ShortModuleName
Wiederholen-Befehl: Der Befehl zum Wiederholen einer Testsuite. Sie können zusätzliche Befehlszeilenargumente. Um beispielsweise nur eine Modul in CTS 8.1 verwenden, verwenden Sie:
cts --retry 0 -m ShortModuleName
Wiederholungsargumente können sich von denen unterscheiden, die mit dem ersten Befehl verfügbar sind. Prüfen Sie daher die unterstützten Parameter auf der offiziellen Website für den ausgewählten Test
Vorheriger Testlauf – So können Sie einen vorherigen Testlauf noch einmal ausführen:
Lokal: Testlauf starten, wenn die Ausführung auf dem aktuellen Host gestartet wurde ID, die beim Anzeigen der Details des Testlaufs angezeigt wird.
Abbildung 9: Lokaler vorheriger Testlauf.
Remote: Wenn die Ausführung auf einem anderen Host gestartet wurde, laden Sie den Test hoch. der Ergebnisdatei, indem Sie Remote auswählen und auf Upload Testing Results (Testergebnisse hochladen) klicken. Datei und wählen Sie eine Datei im lokalen Speicher aus.
Abbildung 10. Vorheriger Remote-Testlauf.
Geräte auswählen
Klicken Sie die Kästchen an, um die Geräte auszuwählen, die Sie für den Test zuweisen möchten Die Shard-Anzahl sollte sich automatisch ändern, damit sie der Anzahl der Geräte ausgewählt.
Abbildung 11. Geräte auswählen
Wenn Sie Geräte anhand anderer Attribute als Geräteserien auswählen möchten, können Sie manuell geben Sie „Device Specs“ ein. Beispiel: Um drei Geräte mit dem Produktnamen auszuwählen, „bramble“ eingeben, geben Sie Folgendes ein:
product:bramble;product:bramble;product:bramble
Folgende Attribute werden unterstützt:
- Build-ID
- Geräte-Seriennummer
- device_type [Gerätetyp]
- Hostname
- Produkt
- product_variant (Produktvariante)
- SIM-Status
Alle ausgewählten Geräte müssen den Status Verfügbar haben, damit der Testlauf ausgeführt werden kann. und sie wechseln alle in den Status Zugewiesen, wenn der Testlauf ausgeführt wird. A der Testlauf sich im Status Queued (In der Warteschlange) befindet, während auf Geräte gewartet wird, verfügbar.
Geräteaktionen hinzufügen
Geräteaktionen sind Skripts, die vor jedem Testlauf ausgeführt werden können. Einige Geräteaktionen wie Blinken und Neustart sind bereits konfiguriert. Bis neue Geräteaktionen erstellen, siehe Neue Geräteaktion erstellen
Abbildung 12. Geräteaktionen.
Um eine Geräteaktion zu einem Testlauf hinzuzufügen, klicken Sie auf Neue Aktion hinzufügen, wählen Sie die gewünschten Aktionen aus und klicken Sie dann auf Aktion(en) hinzufügen. Geräteaktionen werden sequenziell ausgeführt. Sie können die Aktionen durch Ziehen neu anordnen.
Abbildung 13. Aktionen werden neu geordnet.
Testressourcen festlegen
Testressourcen sind Dateien, die zum Ausführen eines Testlaufs erforderlich sind. Wenn Sie zum Beispiel
Für CTS ist eine android-cts*.zip
-Datei erforderlich. Zum Flashen eines Geräts musst du Folgendes tun:
das Build-Image bereitstellen.
Als Download-URL für die ZIP-Datei der Testsuite sollte standardmäßig Google Drive verwendet werden. Links, die Partnern bereitgestellt 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 von Dateien eingeben, eine Datei aus einem authentifizierten Build-Kanal oder laden Sie eine Datei zur Verwendung aus dem lokalen Speicher hoch.
Abbildung 14: Testen Sie die Ressourcen.
Unten sehen Sie das Pop-up-Fenster, in dem Sie eine Testressource anhand einer Web-URL auswählen können. Sie können Geben Sie den Link für die Download-URL ein und klicken Sie auf Auswählen, um den Auswahl.
Abbildung 15. Ressourcenauswahl testen – Web-URL.
Wenn Sie Ressourcen in Google Grive, Google Cloud Storage (GCS) oder Kanäle ausgewählt haben, kannst du auch den Tab des jeweiligen Kanals aufrufen zu finden. Hier ist ein Beispiel für die Auswahl einer Ressource in Google Drive.
Abbildung 16. Test Resource Selector – Google Drive.
Neben der Auswahl von Dateien werden Platzhalterzeichen auch in Filename (Dateiname) ein. Die Dokumentation finden Sie hier.
Abbildung 17. Ressourcenauswahl testen – Unterstützung von Platzhaltermustern
Sie können auch eine Datei aus dem lokalen Dateispeicher von OmniLab ATS auswählen. Sie können Dateien in diesem Speicher oder lokale Dateien und Verzeichnisse direkt verwenden.
Abbildung 18. Ressourcenauswahl testen – Lokaler Dateispeicher
Konfigurationen für erneute Ausführung hinzufügen
Sie können Wiederholungen planen, die nach Abschluss der primären Ausführung starten. werden die Ergebnisse geladen, aber es können andere Geräte, Aktionen oder Ressourcen verwendet werden.
Abbildung 19. Konfigurationen zur erneuten Ausführung werden hinzugefügt.
Testlauf starten
Nachdem Sie die erforderlichen Informationen für den Testlauf eingegeben haben, klicken Sie auf Test starten Ausführen. Wenn alle Informationen gültig sind, startet der Test und Sie werden auf eine Seite weitergeleitet, auf der Sie die Details und den Fortschritt des Testlaufs ansehen können.
Abbildung 20: Testlauf wird gestartet.
Testplan erstellen
Testpläne werden zum Erstellen von Testläufen nach einem regelmäßigen Zeitplan verwendet. Beispiel: Täglich um 17:00 Uhr CTS 9.0. Um einen neuen Testplan zu erstellen, klicken Sie auf Create a neuen Testplan.
Abbildung 21. Einen Testplan erstellen
Testplan konfigurieren
Geben Sie den Namen des Testplans und alle Labels ein, die Sie hinzufügen möchten. Wählen Sie dann eine Zeitplan verwendet.
- Manuell: Der Testplan erstellt Testläufe nur, wenn ein Nutzer auf Auf der Seite mit der Liste der Testpläne kannst du einen Testplan ausführen.
- Regelmäßig: Mit dem Testplan werden automatisch Testläufe auf der regelmäßiger Zeitplan ausgewählt. Ein Beispiel: Die Planung eines täglichen Testlaufs 17:00 Uhr.
- Benutzerdefiniert: Mit dem Testplan werden Testläufe automatisch basierend auf den
Cron-Ausdruck eingegeben. Beispiel:
zum Planen eines täglichen Testlaufs um 17:00 Uhr lautet der Cron-Ausdruck
0 17 * * *
Abbildung 22. Testplan konfigurieren
Testsuites hinzufügen
Fügen Sie Test-Suites hinzu, die durch den Testplan geplant werden sollen, indem Sie auf + Hinzufügen Testlaufkonfiguration. 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 durchführen möchten, Klicken Sie auf Konfiguration hinzufügen. Sie können für jeden Test mehrere Konfigurationen hinzufügen zu erstellen.
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 werden hinzugefügt.
Testressourcen festlegen
Das Hinzufügen von Testressourcen zu Testplänen entspricht dem Hinzufügen von Testressourcen zu einem einzelnen Test ausgeführt wird. Weitere Informationen finden Sie unter Testressourcen festlegen.
Abbildung 25. Testressourcen festlegen
Testausführungen ansehen
Liste der Testläufe
Die Liste der geplanten Testläufe finden Sie auf der Seite „Testläufe“. Klicken Sie auf Anzeigen, um finden Sie weitere Informationen zu einem Testlauf.
Sie können die Liste auch filtern, indem Sie einen String in die Filterleiste eingeben und drücken Sie die Eingabetaste. Sie können mehrere Filter verwenden, indem Sie sie durch Komma. Der Filter gibt alle Zeilen zurück, die genau diesen Text enthalten (kein Teilstring). Übereinstimmung) in einer beliebigen Spalte außer Status und Erstellt.
Bei einem leeren Filter werden alle Zeilen zurückgegeben. Derzeit gibt es keine Möglichkeit, nach Zeilen zu filtern mit leeren Werten.
Abbildung 26: Liste der Testläufe.
Details zum Testlauf
Hier können Sie die Details eines Testlaufs ansehen, z. B. Status, Logs und Ergebnisse.
Abbildung 27. Details zum Testlauf.
Status des Testlaufs
Der Fortschritt eines Testlaufs wird im Abschnitt „Status“ angezeigt. Wenn es eine ähnliche wie Downloadfortschritt, Kündigungsgrund oder Fehlermeldung, wie hier dargestellt.
Abbildung 28: Status des Testlaufs.
Folgende Statuswerte sind für den Testlauf verfügbar:
- Ausstehend: Die erforderlichen Ressourcen werden gerade heruntergeladen.
- In der Warteschlange: Der Test kann ausgeführt werden, sobald ein Gerät verfügbar ist.
- Läuft: 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 trat beim Versuch, um verfügbare Geräte zu finden.
- Fehler: Ein Fehler ist aufgetreten, der die Ausführung des Tests verhindert hat.
Testlauf abbrechen
Wenn der Testlauf noch nicht abgeschlossen ist, können Sie ihn abbrechen. Klicken Sie dazu auf Abbrechen und und dann im Bestätigungsdialogfeld auf Ja. Testläufe sind auch automatisch abgebrochen, wenn sie länger im Status Queued (In der Warteschlange) queue_timeout_seconds verwendet. Testlauf im Status Running abbrechen kann es einige Minuten dauern, bis die Änderungen wirksam werden.
Abbildung 29. Testlauf wird abgebrochen.
Ergebnisse des Testlaufs
Nach Abschluss eines Tests werden die Ergebnisse erfasst und angezeigt. Sie können
Klicken Sie bei jeder Ausführung auf den Pfeil, um weitere Details zu sehen. Klicken Sie auf Ausgabe anzeigen
Files (Dateien), um die erfassten Testartefakte zu sehen, z. B. test_result.xml
und
test_result_failures.html
.
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 die einzelnen Module findest du auf dem Tab „Testergebnisse“.
Abbildung 32. Tab „Testergebnisse“.
Sie können die als Testressourcen verwendeten Dateien herunterladen. Klicken Sie dazu im Menü Tab „Test Resources“ (Ressourcen testen).
Abbildung 33. Tab „Test Resources“ (Ressourcen testen).
Die Details des Testlaufs, wie z. B. create_time, finden Sie auf dem Tab „Konfiguration“.
Abbildung 34: Tab „Konfiguration“.
Erweiterte Funktionen
Konfigurationsdateien verwalten
OmniLab ATS verwendet in YAML geschriebene Konfigurationsdateien, vordefinierte Optionen wie Tests, Build-Kanäle und Geräteaktionen laden. Hier ist 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 Nutzende, indem Sie sie als Datei exportieren. Rufen Sie dazu die Seite „Einstellungen“ auf 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. Er kann die Konfigurationsdatei seiner OmniLab ATS-Instanz hinzufügen, indem er auf Importieren Sie die Konfigurationsdatei und wählen Sie sie aus.
Neue Geräteaktion erstellen
Geräteaktionen werden verwendet, um die Geräteeinrichtung zu automatisieren. Aktionen sind die auf jedem Gerät, auf dem der Test läuft, vor jedem Testlauf ausgeführt werden, auch vor Wiederholungsversuchen. Eine Liste der verfügbaren Geräteaktionen findest du in der Seite mit den Einstellungen und klicken Sie auf den Tab Geräteaktionen. Verschiedene Geräteaktionen konfiguriert, also z. B. neu gestartet und blinken.
Abbildung 36: Tab „Geräteaktionen“.
Neue Geräteaktion hinzufügen
Klicken Sie auf Neue Geräteaktion.
Abbildung 37. Aktionsschaltfläche für neues Gerät.
Geben Sie einen Namen und eine Beschreibung ein.
Abbildung 38: Name der Geräteaktion.
Klicken Sie auf Add Target Preparer.
Geben Sie das Ziel für den Handelsverbund ein. Vollständiger Kursname der Vorbereitung, z. B.:
com.android.tradefed.targetprep.RunHostCommandTargetPreparer
Abbildung 39. Ein Ziel-Bereitsteller wird hinzugefügt.
Eine Liste der zur Vorbereitung verfügbaren Tools finden Sie in der com.android.tradefed.targetprep Referenz.
Abbildung 40: Liste „Target Preparer“.
Fügen Sie alle Optionen hinzu, die mit der Zielvorbereitung verwendet werden sollen. So rufen Sie die verfügbaren Optionen auf: Häkchen setzen Targetprep für den Quellcode für jeden Zielvorbereitende in AOSP:
Abbildung 41: Beispiel für eine Aktionsoption.
Wenn Sie eine Option hinzufügen möchten, klicken Sie auf Add Target Preparer Option und geben Sie erforderlichen Werte.
Abbildung 42. Beispiel für einen Aktionsbefehl
Definieren Sie die Testressourcen, die zum Ausführen der Geräteaktion erforderlich sind, zum Beispiel Images für das Flashen. Um eine Ressourcendefinition hinzuzufügen, klicken Sie auf Add Test Resource (Testressource hinzufügen) und füllen Sie die Pflichtfelder aus. Wenn Sie wissen, befinden, können Sie eine Standard-Download-URL angeben, indem Sie auf browse. Wenn die Zielvorbereitenden das Verzeichnis als Testressource akzeptieren, wählen Sie Dekomprimieren aus. Geben Sie dann das relative Zielverzeichnis an. im temporären Arbeitsverzeichnis und geben unter File Names (Dateinamen) dekomprimiert. Wenn keine Dateinamen angegeben werden, werden alle Dateien aus die Testressource.
Abbildung 43. Ressourcen für Aktionstests
Klicken Sie auf Aktualisieren.
Abbildung 44. Aktion „Änderungen speichern“.
Tests verwalten
Test bearbeiten
Um einen gespeicherten Test zu bearbeiten, rufen Sie die Seite "Tests" auf und klicken Sie in der Zeile der Test, den Sie ändern möchten. 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. Eingabetaste die entsprechenden Informationen aus und klicken Sie auf Erstellen.
Abbildung 46: Test wird erstellt.
Abbildung 47: Einen Test kopieren
Hostkonfigurationen exportieren
Nachdem Sie einen Host konfiguriert haben, können Sie dessen Konfigurationen in eine Datei exportieren. Sie können diese Datei auf andere Hosts hochladen, um die gespeicherten Konfigurationen zu kopieren.
Um die Konfigurationen eines Hosts zu exportieren, rufen Sie die Seite „Einstellungen“ auf und klicken Sie auf Exportieren. oben rechts.
Abbildung 48: Hostkonfiguration exportieren.
Um eine Hostkonfigurationsdatei zu importieren, gehen Sie zur Seite "Einstellungen" und klicken Sie auf Importieren.
Abbildung 49. Hostkonfiguration importieren
Lokale Dateien und Verzeichnisse verwenden
Ab Version R11 werden Dateien im Verzeichnis $HOME/.ats_storage
automatisch in OmniLab ATS verfügbar. Dateien kopieren oder verschieben
können Sie es auf dem Tab Lokale Datei auswählen, wenn Sie eine
einen Testlauf durchführen.
cp /path/to/file $HOME/.ats_storage
Abbildung 50: Eine Datei aus dem Verzeichnis $HOME/.ats_storage
auswählen.
Sie können zusätzliche Verzeichnisse im lokalen Dateispeicher bereitstellen:
Flag --mount_local_path
.
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 einzigen ATS-Controller-Host zur Verwaltung des Geräte und Tests auf mehreren ATS-Worker-Hosts.
Abbildung 52. Architektur mit mehreren Hosts
Verwenden Sie den folgenden Befehl, um den ATS-Controller zu starten:
mtt start --operation_mode=ON_PREMISE
Prüfe, ob unter
http://${CONTROLLER_HOSTNAME}:8000
auf den Controller 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 für die erweiterte Einrichtung unten. auf ATS-Workern.
Verbinden Sie die beiden Hosts über einen SSH-Tunnel. Wählen Sie Ports für die Primär- und Dateiserver-Port, 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
Dateibereinigung
Die Dateibereinigung ist ein Cronjob, der stündlich ausgeführt wird, benutzerdefinierte Konfigurationen erstellen. ATS hat zwei Standardkonfigurationen zum Archivieren von Tests Ergebnisse ausführen und temporäre Dateien löschen. In diesem Leitfaden erfahren Sie, wie Sie die Richtlinien und Konfigurationen, um Ihre Dateien effektiv zu verwalten.
Richtlinien
Eine Richtlinie definiert den für Dateien oder Verzeichnisse auszuführenden Vorgang und der Kriterien zur Auswahl von Zielen. Die verfügbaren Vorgänge sind in der Tabelle aufgeführt:
Vorgangstyp | Parameter |
---|---|
ARCHIVE | remove_file : Wenn true festgelegt ist, wird die Datei nach der Archivierung entfernt. |
DELETE |
Die Kriterien basieren auf Dateiattributen und Systeminformationen. Verfügbar Kriterien in der Tabelle:
Kriteriumstyp | Beschreibung | Parameter |
---|---|---|
LAST_MODIFIED_TIME | Dateien anhand des Datums und der Uhrzeit der letzten Änderung filtern. | ttl : Es werden verschiedene Arten von Zeitausdrücken unterstützt, z. B. 10m , 2h , 7 days und 4w . Unterstützte Formate findest du unter pytimeparse . |
LAST_ACCESS_TIME | Dateien basierend auf dem Datum und der Uhrzeit des letzten Zugriffs filtern. | Entspricht LAST_MODIFIED_TIME . |
NAME_MATCH | Filtern Sie Dateien mithilfe des regulären Ausdrucks anhand ihres Namens. | pattern : Regulärer Ausdruck, z. B. [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip zum Abgleich von Ergebnis-Zip-Dateien. |
SYSTEM_AVAILABLE_SPACE | Aktionen basierend auf dem verfügbaren Speicherplatz im System auslösen. | threshold : Eine Aktion wird ausgelöst, 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 zur Dateibereinigung hinzu.
Konfigurationen
Eine Konfiguration kombiniert eine oder mehrere Richtlinien mit bestimmten Verzeichnissen. Die Dateien und werden Verzeichnisse innerhalb der angegebenen Verzeichnisse basierend auf definierten Richtlinien. 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 Ihr
config das Zielverzeichnis als logs
angibt, wird es als
/data/logs
.
Abbildung 54: Bearbeiten Sie die Konfiguration der Dateibereinigung.
Zurücksetzen
Wenn Sie auf Einstellungen zurücksetzen klicken, wird die Konfiguration der Dateibereinigung auf ihre ursprüngliche Standardstatus. Durch diese Aktion werden ALLE benutzerdefinierten Elemente gelöscht.
Abbildung 55. Einstellungen für die Dateibereinigung zurücksetzen.
Support
Fehlerberichte
Ihr Beitrag zu OmniLab ATS trägt dazu bei, die Entwicklung des Tools zu verbessern Ihr Feedback ist gefragt! Weitere Informationen finden Sie in der Versionshinweise zu OmniLab ATS . Um Fehler zu melden oder Vorschläge zu machen, Einen Fehlerbericht senden Partner sollten Fehler oder Vorschläge über ihre Partnerkanäle melden.