OmniLab-Android-Teststation

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 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:

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:

  1. Führen Sie das Installationsprogramm aus:

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. Führen Sie mtt version aus, um die installierte Version der OmniLab ATS CLI zu prüfen.

Manuell installieren

Docker installieren
  1. Folgen Sie Installationsanleitung für die Docker Community Edition (CE) auf Ihrem Linux-Computer.

  2. Folgen Sie Schritte nach der Installation, um Docker als Nicht-Root-Nutzer zu verwalten

  3. 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.

Konfigurationssicherung wiederherstellen

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.

Dienstkonto festlegen

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.

Dienstkonto ändern

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:

Config Sets 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.

WLAN-Einstellungen

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:

  1. Folgen Sie dazu der Anleitung unter Aktivieren Sie Entwickleroptionen und Fehlerbehebung.

  2. 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.

  3. 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.

    Ein Gerät verbinden

    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.

Test auswählen

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.

Testlauf konfigurieren

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.

      Lokaler vorheriger Testlauf

      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.

      Vorheriger Remote-Testlauf

      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.

Geräte auswählen

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

Geräteaktionen

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.

Aktionen hinzufügen

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.

Testressourcen

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.

Ressourcenauswahl testen – Web-URL

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.

Ressourcenauswahl testen – 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.

Ressourcenauswahl testen – Unterstützung von Platzhaltermustern

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.

Ressourcenauswahl testen – Lokaler Dateispeicher

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.

Konfigurationen zur erneuten Ausführung hinzufügen

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.

Testlauf starten

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.

Testplan erstellen

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 * * *

Testplan konfigurieren

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.

Testlauf konfigurieren

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.

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.

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.

Testlaufliste

Abbildung 26: Liste der Testläufe.

Details zum Testlauf

Hier können Sie die Details eines Testlaufs ansehen, z. B. Status, Logs und Ergebnisse.

Details zum Testlauf

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.

Status des Testlaufs

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.

Testlauf abbrechen

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.

Ergebnisse des Testlaufs

Abbildung 30: Ergebnisse des Testlaufs.

Auf dem Tab „Logs“ können Sie Live-Host- und Tradefed-Logs ansehen.

Testlauflogs

Abbildung 31. Tab „Logs“

Die Ergebnisse für die einzelnen Module findest du auf dem Tab „Testergebnisse“.

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).

Tab „Ressourcen testen“

Abbildung 33. Tab „Test Resources“ (Ressourcen testen).

Die Details des Testlaufs, wie z. B. create_time, finden Sie auf dem Tab „Konfiguration“.

Tab „Testkonfiguration“

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.

Config File Management

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.

Tab „Geräteaktionen“

Abbildung 36: Tab „Geräteaktionen“.

Neue Geräteaktion hinzufügen

  1. Klicken Sie auf Neue Geräteaktion.

    Schaltfläche für neue Geräteaktion

    Abbildung 37. Aktionsschaltfläche für neues Gerät.

  2. Geben Sie einen Namen und eine Beschreibung ein.

    Name der Geräteaktion

    Abbildung 38: Name der Geräteaktion.

  3. Klicken Sie auf Add Target Preparer.

  4. Geben Sie das Ziel für den Handelsverbund ein. Vollständiger Kursname der Vorbereitung, z. B.: com.android.tradefed.targetprep.RunHostCommandTargetPreparer

    Target Preparer hinzufügen

    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.

    Zielvorbereitungsliste

    Abbildung 40: Liste „Target Preparer“.

  5. 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:

    Beispiel für eine Aktionsoption

    Abbildung 41: Beispiel für eine Aktionsoption.

  6. Wenn Sie eine Option hinzufügen möchten, klicken Sie auf Add Target Preparer Option und geben Sie erforderlichen Werte.

    Beispiel für einen Aktionsbefehl

    Abbildung 42. Beispiel für einen Aktionsbefehl

  7. 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.

    Ressourcen zu Aktionstests

    Abbildung 43. Ressourcen für Aktionstests

  8. Klicken Sie auf Aktualisieren.

    Aktion "Änderungen speichern"

    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.

Test bearbeiten

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.

Test erstellen

Abbildung 46: Test wird erstellt.

Test kopieren

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.

Hostkonfigurationen exportieren

Abbildung 48: Hostkonfiguration exportieren.

Um eine Hostkonfigurationsdatei zu importieren, gehen Sie zur Seite "Einstellungen" und klicken Sie auf Importieren.

Hostkonfigurationen 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

Lokale Datei auswählen

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

Zusätzliche bereitgestellte Verzeichnisse

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.

Architektur mit mehreren Hosts

Abbildung 52. Architektur mit mehreren Hosts

  1. Verwenden Sie den folgenden Befehl, um den ATS-Controller zu starten:

    mtt start --operation_mode=ON_PREMISE
    
  2. Prüfe, ob unter http://${CONTROLLER_HOSTNAME}:8000 auf den Controller zugegriffen werden kann.

  3. 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.

  1. 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
    
  2. 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:

VorgangstypParameter
ARCHIVEremove_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:

KriteriumstypBeschreibungParameter
LAST_MODIFIED_TIMEDateien 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_TIMEDateien basierend auf dem Datum und der Uhrzeit des letzten Zugriffs filtern.Entspricht LAST_MODIFIED_TIME.
NAME_MATCHFiltern 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_SPACEAktionen 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.

Neue Richtlinie zur Dateibereinigung

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.

Konfiguration der Dateibereinigung bearbeiten

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.

Einstellungen für die Dateibereinigung zurücksetzen

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.