Android-Teststation

Android Test Station ist ein Testtool, mit dem Android-Entwickler und Testingenieure eine Benutzeroberfläche zum Ausführen von Standard-Android-Testsuiten wie der Android Compatibility Test Suite (CTS) verwenden können. Dieses Tool fungiert als Webschnittstelle für Trade Federation (TF) und ermöglicht Ihnen die einfache Ausführung von CTS auf einer Reihe von Testgeräten mit minimalem Setup sowie die Erstellung eines Zeitplans für die kontinuierliche Ausführung von Tests.

Richten Sie die Android Test Station ein

In diesem Abschnitt wird erläutert, wie Sie Android Test Station installieren und einrichten.

Android Test Station verwendet Quellcode von diesen Orten:

Installieren Sie die Android Test Station

Befolgen Sie alle Hardware- und Softwareanforderungen für die von Ihnen ausgeführten Testsuiten.

Die Anforderungen für CTS finden Sie auf source.android.com .

Es gibt keine zusätzlichen Hardwareanforderungen für ATS, wir empfehlen jedoch, die CTS-Hostanforderungen als Ausgangspunkt zu verwenden.

Es gibt zwei Möglichkeiten, Android Test Station zu installieren:

Installieren Sie mit dem Installationsprogramm

Unter Ubuntu 20.04+ installiert und konfiguriert das Installationsprogramm alle Programme und Ressourcen, die zum Ausführen von Android Test Station erforderlich sind.

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 Android Test Station CLI zu überprüfen.

Manuell installieren

Installieren Sie Docker
  1. Befolgen Sie die Anweisungen zur Installation der Docker Community Edition (CE) auf Ihrem Linux-Computer.

  2. Befolgen Sie die Schritte nach der Installation, um Docker als Nicht-Root-Benutzer zu verwalten .

  3. Möglicherweise müssen Sie Ihr Terminalfenster neu starten oder sich abmelden und erneut anmelden, damit die Berechtigungsänderungen wirksam werden.

Installieren Sie Python 3

Die Android Test Station CLI wird anhand der Python-Versionen 3.7 bis 3.10 überprüft.

Fügen Sie für Ubuntu 16.04 oder früher zunächst das Repository für Python 3 hinzu, indem Sie einen der folgenden Schritte ausführen:

  • Führen Sie diesen 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

Um eine bestimmte Python 3-Version (z. B. 3.10) zu installieren, führen Sie stattdessen diese Befehle aus:

sudo apt-get update
sudo apt install python3.10 python3.10-distutils

Holen Sie sich die Android Test Station-CLI

Laden Sie hier das Befehlszeilenschnittstellenpaket (CLI) herunter.

Starten Sie die Android Test Station

Starten Sie Android Test Station mit dem folgenden Befehl:

mtt start

Beim ersten Start der Benutzeroberfläche kann es einige Minuten dauern, bis sie angezeigt wird. Die CLI zeigt eine Web-URL an, um in einem Browser auf die Benutzeroberfläche zuzugreifen. Standardmäßig lautet die Web-URL 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 auf die aktuelle Version aktualisieren. Die neuesten Versionen finden Sie in den Versionshinweisen .

Um auf die aktuelle Version zu aktualisieren, führen Sie Folgendes aus:

mtt start --force_update

Um die App zu stoppen, führen Sie Folgendes aus:

mtt stop

Um eine Liste anderer Befehle anzuzeigen, verwenden Sie:

mtt --help

Sichern Sie die Datenbank und stellen Sie sie wieder her

Um die ATS-Datenbank zu sichern, stoppen Sie die App und führen Sie den folgenden Befehl aus, der die aktuelle Datenbank in einer TAR-Datei mit dem Namen mtt-backup.tar in Ihrem Home-Verzeichnis sichert:

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"

Setup-Assistent

Nachdem Sie Android Test Station zum ersten Mal installiert und ausgeführt haben, führt Sie der Setup-Assistent durch einige Schritte, die Ihnen dabei helfen, das Tool an Ihre Umgebung anzupassen. Alle hier vorgenommenen Änderungen können später über die Seite „Einstellungen“ neu konfiguriert werden.

Stellen Sie eine Konfigurationssicherung wieder her

Wenn Sie eine Konfigurationsdatei von einem anderen Android Test Station-Host gesichert haben, können Sie die Datei hochladen, um alle von diesem Host geänderten Konfigurationen zu kopieren, indem Sie auf die Schaltfläche „Datei hochladen“ klicken.

Konfigurationssicherung wiederherstellen

Abbildung 1. Wiederherstellen einer Konfigurationssicherung.

Legen Sie das Standarddienstkonto fest

Sie können ein Dienstkonto festlegen, das Android Test Station standardmäßig beim Zugriff auf Ihre Ressourcen verwendet (z. B. Google Cloud Storage, Google Drive). Um Ihr Dienstkonto zu authentifizieren, klicken Sie auf Dienstkontoschlüssel hochladen und wählen Sie die JSON-Schlüsseldatei Ihres Dienstkontos aus.

Dienstkonto festlegen

Abbildung 2. Einrichten des Dienstkontos.

Wenn das Dienstkonto erfolgreich authentifiziert wurde, wird die E-Mail-Adresse des Kontos in der oberen rechten Ecke der Seite angezeigt. Um das Dienstkonto zu ändern, klicken Sie auf den Kontonamen, entfernen Sie das aktuelle Standardkonto und laden Sie einen neuen Dienstkontoschlüssel hoch.

Dienstkonto ändern

Abbildung 3. Ändern des Dienstkontos.

Konfigurationssätze importieren

Ein Konfigurationssatz ist ein Bündel von Konfigurationen zum Ausführen von Testsuiten, einschließlich zugehöriger Geräteaktionen und Build-Kanäle. Konfigurationssätze werden in einem bestimmten Google Cloud Storage (GCS)-Bucket gehostet. Nachdem Sie den GCS-Build-Kanal mit Ihrem Google-Konto authentifiziert haben, sehen Sie eine Liste aller Konfigurationssätze, die Ihnen zur Verfügung stehen.

Wählen Sie alle Konfigurationssätze aus, die Sie Ihrem Teststation-Host hinzufügen möchten, und klicken Sie auf Ausgewählte importieren .

Konfigurationssätze importieren

Abbildung 4. Importieren eines Konfigurationssatzes.

Fügen Sie WLAN-Einstellungen hinzu

Bei einigen CTS-Tests muss Ihr Gerät eine Verbindung zu einem WLAN-Hotspot herstellen. Um Ihr WLAN-Netzwerk auszuwählen, geben Sie die WLAN-SSID und optional den WLAN-PSK ein.

Wlan einstellungen

Abbildung 5. WLAN-Hotspot-Einstellungen.

Nach Abschluss des Setup-Assistenten wird die Seite mit den angewendeten neuen Einstellungen neu geladen.

Schließen Sie ein Gerät an

Um ein Gerät zum Testen verwenden zu können, muss das USB-Debugging aktiviert sein. So aktivieren Sie das Debuggen:

  1. Befolgen Sie die Anweisungen unter Entwickleroptionen und Debugging aktivieren .

  2. Wenn Sie Test-Android-Builds verwenden möchten, auf denen benutzerdefinierte ADB-Schlüssel vorinstalliert sind, legen Sie die benutzerdefinierten .adb_key Dateien im Verzeichnis ~/.android/ ab.

    Die Dateien werden automatisch geladen und an ADB übergeben, um das USB-Debugging nach dem Flashen des Geräts für Geräte, auf denen diese Builds ausgeführt werden, automatisch zu aktivieren.

  3. Verbinden Sie das Gerät über USB mit dem Host-Computer.

    Das Gerät wird innerhalb einer Minute nach der Aktualisierung der Weboberfläche auf der Registerkarte „Geräte“ der Android Test Station angezeigt. Auf dieser Registerkarte können Sie auch den Status der Geräte anzeigen.

    Schließen Sie ein Gerät an

    Abbildung 6. Anschließen eines Geräts.

Die verschiedenen Gerätezustände sind:

  • Verfügbar – Das Gerät ist angeschlossen und bereit, einen Test durchzuführen.
  • Zugewiesen – Das Gerät ist verbunden und führt derzeit einen Test durch. Jedes Gerät kann jeweils nur einen Test ausführen, daher muss das Gerät seinen aktuellen Test abschließen, bevor es einen neuen ausführen kann.

Führen Sie einen Test durch

Wählen Sie einen Test aus

Die Android Test Station wird mit einer Reihe vorgefertigter CTS-Konfigurationen geliefert. Um einen dieser Tests auszuführen, gehen Sie zur Registerkarte „Testsuiten“ und klicken Sie für den gewünschten Test auf „Test ausführen“ .

Wählen Sie einen Test aus

Abbildung 7. Auswählen eines Tests.

Informationen zum Bearbeiten oder Hinzufügen neuer Tests finden Sie unter Tests hinzufügen .

Testlauf konfigurieren

Bearbeiten Sie die Parameter, die für diesen speziellen Testlauf verwendet werden sollen. Die meisten Parameter sind vorab mit Werten gefüllt, die in der ausgewählten Testkonfiguration definiert sind.

Dieser Schritt kann mit den Standardwerten durchgeführt werden, Sie können jedoch auch beliebige Parameter wie „Max Retry“ und „Command“ entsprechend Ihren Anforderungen ändern.

Testlauf konfigurieren

Abbildung 8. Konfigurieren eines Testlaufs.

Die Testlaufparameter sind:

  • Name – Name der Testsuite, die Sie ausführen möchten.
  • Anzahl der Ausführungen – Anzahl der Ausführungen dieses Testlaufs zum geplanten Zeitpunkt. Testläufe werden mithilfe von Trade Federation geplant, das bei entsprechender Kapazität bis zu 20 Testläufe parallel durchführt.
  • Max Retry – Maximale Anzahl der Wiederholungen eines Testlaufs, wenn mindestens ein Test fehlschlägt. Dies ist normalerweise auf 4–6 Wiederholungsversuche für einen vollständigen CTS-Lauf eingestellt, um unzuverlässige Tests zu bewältigen.
  • Zeitüberschreitung in der Warteschlange – Wenn ein Testlauf zu lange im Status „Warteschlange“ verbleibt, wird er automatisch abgebrochen. Geben Sie hier die Wartezeit bis zum Abbruch an. Der Standardwert beträgt 24 Stunden.
  • Befehl – ​​Der Befehl zum Ausführen der Testsuite. Hier können Sie zusätzliche Befehlszeilenargumente eingeben. Führen Sie beispielsweise ein bestimmtes Modul in CTS 8.1 aus mit:

    cts-suite -m ShortModuleName
    
  • Wiederholungsbefehl – ​​Der Befehl zum erneuten Versuch einer Testsuite. Hier können Sie zusätzliche Befehlszeilenargumente hinzufügen. Um beispielsweise nur ein bestimmtes Modul in CTS 8.1 erneut zu versuchen, verwenden Sie Folgendes:

    cts --retry 0 -m ShortModuleName
    

    Wiederholungsargumente können sich von denen unterscheiden, die mit dem ursprünglichen Befehl verfügbar sind. Überprüfen Sie daher die unterstützten Parameter auf der offiziellen Website für die ausgewählte Testsuite.

  • Vorheriger Testlauf – Wenn Sie einen vorherigen Testlauf erneut ausführen möchten:

    • Lokal – Wenn der Lauf auf dem aktuellen Host gestartet wurde, geben Sie die Testlauf-ID ein, die Sie beim Anzeigen der Details des Testlaufs sehen.

      Lokaler vorheriger Testlauf

      Abbildung 9. Lokaler vorheriger Testlauf.

    • Remote – Wenn der Lauf auf einem anderen Host gestartet wurde, laden Sie die Testergebnisdatei hoch, indem Sie Remote auswählen, auf Testergebnisdatei hochladen klicken und eine Datei aus Ihrem lokalen Speicher auswählen.

      Vorheriger Remote-Testlauf

      Abbildung 10. Vorheriger Remote-Testlauf.

Wählen Sie Geräte aus

Klicken Sie auf die Kontrollkästchen, um die Geräte auszuwählen, die für die Ausführung der Testsuite zugewiesen werden sollen. Die Shard-Anzahl sollte sich automatisch ändern, um der Anzahl der ausgewählten Geräte zu entsprechen.

Wählen Sie Geräte aus

Abbildung 11. Geräte auswählen.

Um Geräte nach anderen Attributen als den Geräteserien auszuwählen, können Sie „Gerätespezifikationen“ manuell eingeben. Um beispielsweise drei Geräte auszuwählen, deren Produktname „bramble“ lautet, geben Sie Folgendes ein:

product:bramble;product:bramble;product:bramble

Die unterstützten Attribute sind:

  • build_id
  • device_serial
  • Gerätetyp
  • Hostname
  • Produkt
  • Produktvariante
  • sim_state

Alle ausgewählten Geräte müssen sich im Status „ Verfügbar “ befinden, um den Testlauf ausführen zu können, und sie wechseln alle in den Status „ Zugewiesen “, wenn der Testlauf ausgeführt wird. Ein Testlauf befindet sich im Status „Warteschlange“ , während er darauf wartet, dass Geräte verfügbar werden.

Geräteaktionen hinzufügen

Geräteaktionen sind Skripte, die vor jedem Testlauf ausgeführt werden können. Einige Geräteaktionen sind bereits konfiguriert, z. B. Flashen und Neustarten. Informationen zum Erstellen neuer Geräteaktionen finden Sie unter Erstellen einer neuen Geräteaktion .

Geräteaktionen

Abbildung 12. Geräteaktionen.

Um eine Geräteaktion zu einem Testlauf hinzuzufügen, klicken Sie auf Neue Aktion hinzufügen , aktivieren Sie die Kontrollkästchen für die hinzuzufügenden Aktionen und klicken Sie auf Aktion(en) hinzufügen . Geräteaktionen werden nacheinander ausgeführt. Sie können die Aktionen durch Ziehen neu anordnen.

Aktionen hinzufügen

Abbildung 13. Aktionen neu anordnen.

Legen Sie Testressourcen fest

Testressourcen sind Dateien, die zur Durchführung eines Testlaufs erforderlich sind. Zum Ausführen von CTS ist beispielsweise eine android-cts*.zip Datei erforderlich, und zum Flashen eines Geräts müssen Sie das Build-Image bereitstellen.

Die Download-URL für die ZIP-Datei der Testsuite sollte standardmäßig die Google Drive-Links sein, die Partnern zur Verfügung gestellt werden. Sie können eine andere Datei auswählen, indem Sie auf „Durchsuchen“ klicken. Im Popup-Fenster können Sie einen Datei-Download-Link eingeben, eine Datei von einem authentifizierten Build-Kanal verwenden oder eine Datei zur Verwendung aus dem lokalen Speicher hochladen.

Testressourcen

Abbildung 14. Testressourcen.

Unten sehen Sie das Popup-Fenster zur Auswahl einer Testressource über eine Web-URL. Sie können einfach den Download-URL-Link eingeben und auf die Schaltfläche „Auswählen“ klicken, um die Auswahl zu bestätigen.

Testressourcenauswahl – Web-URL

Abbildung 15. Testressourcenauswahl – Web-URL.

Wenn Sie Ressourcen auf Google Grive, Google Cloud Storage (GCS) oder andere Kanäle hochgeladen haben, können Sie auch zur Registerkarte des jeweiligen Kanals navigieren und dort Ressourcen auswählen. Hier ist ein Beispiel für die Auswahl einer Ressource aus Google Drive.

Testressourcenauswahl – Google Drive

Abbildung 16. Testressourcenauswahl – Google Drive.

Zusätzlich zur einfachen Auswahl von Dateien werden im Feld „Dateiname“ auch Platzhalterzeichen unterstützt. Die Dokumentation finden Sie hier .

Testressourcenauswahl – Unterstützung für Platzhaltermuster

Abbildung 17. Testressourcenauswahl – Unterstützung für Platzhaltermuster.

Sie können auch eine Datei aus dem lokalen Dateispeicher der Android Test Station auswählen. Sie können Dateien in diesen Speicher hochladen oder direkt lokale Dateien und Verzeichnisse verwenden .

Ressourcenauswahl testen – Lokaler Dateispeicher

Abbildung 18. Ressourcenauswahl testen – Lokaler Dateispeicher.

Wiederholungskonfigurationen hinzufügen

Sie können Wiederholungen planen, die nach Abschluss des primären Laufs beginnen und dessen Ergebnisse laden, aber auch andere Geräte, Aktionen oder Ressourcen verwenden können.

Fügen Sie Wiederholungskonfigurationen hinzu

Abbildung 19. Wiederholungskonfigurationen hinzufügen.

Starten Sie einen Testlauf

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 anzeigen können.

Testlauf starten

Abbildung 20. Starten eines Testlaufs.

Erstellen Sie einen Testplan

Testpläne werden verwendet, um Testläufe in einem regelmäßigen Zeitplan zu erstellen. Führen Sie beispielsweise CTS 9.0 jeden Tag um 17:00 Uhr aus. Um einen neuen Testplan zu erstellen, klicken Sie auf „Neuen Testplan erstellen“ .

Testplan erstellen

Abbildung 21. Erstellen eines Testplans.

Testplan konfigurieren

Geben Sie den Namen des Testplans und alle Beschriftungen ein, die Sie hinzufügen möchten. Wählen Sie dann einen Zeitplan aus, den Sie verwenden möchten.

  • Manuell – Der Testplan erstellt Testläufe nur, wenn ein Benutzer auf der Seite mit der Testplanliste auf Testplan ausführen klickt.
  • Periodisch – Der Testplan plant Testläufe automatisch nach dem ausgewählten periodischen Zeitplan. Planen Sie beispielsweise jeden Tag um 17:00 Uhr einen Testlauf.
  • Benutzerdefiniert – Der Testplan plant automatisch Testläufe basierend auf dem eingegebenen Cron-Ausdruck . Um beispielsweise jeden Tag um 17:00 Uhr einen Testlauf zu planen, lautet der Cron-Ausdruck 0 17 * * * .

Testplan konfigurieren

Abbildung 22. Konfigurieren eines Testplans.

Testsuiten hinzufügen

Fügen Sie Testsuiten hinzu, die vom Testplan geplant werden sollen, indem Sie auf + Testlaufkonfiguration hinzufügen klicken. Wählen Sie im Dropdown-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 für jeden Testplan mehrere Konfigurationen hinzufügen.

Testlauf konfigurieren

Abbildung 23. Konfigurieren eines Testlaufs.

Geräteaktionen hinzufügen

Fügen Sie vor jedem Testlauf die Geräteaktionen hinzu, die ausgeführt werden sollen. Weitere Einzelheiten finden Sie unter Geräteaktionen hinzufügen .

Geräteaktionen hinzufügen

Abbildung 24. Geräteaktionen hinzufügen.

Legen Sie Testressourcen fest

Das Hinzufügen von Testressourcen zu Testplänen ist dasselbe wie das Hinzufügen zu einzelnen Testläufen. Weitere Einzelheiten finden Sie unter Testressourcen festlegen .

Legen Sie Testressourcen fest

Abbildung 25. Testressourcen festlegen.

Testläufe ansehen

Testlaufliste

Sehen Sie sich die Liste der geplanten Testläufe auf der Seite „Testläufe“ an. Klicken Sie auf „Anzeigen“ , um weitere Details zu einem Testlauf anzuzeigen.

Sie können die Liste auch filtern, indem Sie eine Zeichenfolge 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 in einer Spalte den genauen Text (keine übereinstimmende Teilzeichenfolge) enthalten, mit Ausnahme von Status und Created .

Ein leerer Filter gibt alle Zeilen zurück. Derzeit gibt es keine Möglichkeit, nach Zeilen mit leeren Werten zu filtern.

Testlaufliste

Abbildung 26. Testlaufliste.

Details zum Testlauf

Hier können Sie die Details eines Testlaufs einsehen, z. B. den Status, Protokolle und Ergebnisse.

Details zum Testlauf

Abbildung 27. Details zum Testlauf.

Testlaufstatus

Der Fortschritt eines Testlaufs wird im Abschnitt „Status“ angezeigt. Wenn eine entsprechende Meldung vorhanden ist, beispielsweise zum Download-Fortschritt, zum Abbruchgrund oder zu einer Fehlermeldung, wird diese ebenfalls hier angezeigt.

Testlaufstatus

Abbildung 28. Testlaufstatus.

Die Testlaufzustände sind:

  • Ausstehend – Erforderliche Ressourcen werden heruntergeladen.
  • In der Warteschlange – Der Test kann ausgeführt werden, sobald ein Gerät verfügbar ist.
  • Läuft – Der Test wird auf einem zugewiesenen Gerät ausgeführt.
  • Abgeschlossen – Der Test wurde abgeschlossen und seine Ergebnisse wurden gemeldet.
  • Abgebrochen – Der Test wurde vom Benutzer abgebrochen oder beim Versuch, verfügbare Geräte zu finden, ist eine Zeitüberschreitung aufgetreten.
  • Fehler – Es ist ein Fehler aufgetreten, der die Ausführung des Tests verhindert hat.

Brechen Sie einen Testlauf ab

Wenn der Testlauf noch nicht abgeschlossen ist, können Sie ihn abbrechen, indem Sie auf „Abbrechen“ und dann im Bestätigungsdialog auf „Ja“ klicken. Testläufe werden auch automatisch abgebrochen, wenn sie länger als im Feld queue_timeout_seconds im Status „ Warteschlange “ verbleiben. Es kann einige Minuten dauern, bis der Abbruch eines Testlaufs im Status „ Wird ausgeführt“ wirksam wird.

Testlauf abbrechen

Abbildung 29. Abbrechen eines Testlaufs.

Ergebnisse des Testlaufs

Nach Abschluss eines Testlaufs werden die Ergebnisse gesammelt und angezeigt. Sie können zusätzliche Details anzeigen, indem Sie für jeden Lauf auf den Pfeil klicken. Klicken Sie auf Ausgabedateien anzeigen, um die gesammelten Testartefakte anzuzeigen, z. B. test_result.xml und test_result_failures.html .

Ergebnisse des Testlaufs

Abbildung 30. Ergebnisse des Testlaufs.

Sie können Live-Host- und Tradefed-Protokolle auf der Registerkarte „Protokolle“ anzeigen.

Testlaufprotokolle

Abbildung 31. Registerkarte „Protokolle“.

Die Ergebnisse für einzelne Module finden Sie auf der Registerkarte Testergebnisse.

Registerkarte „Testergebnisse“.

Abbildung 32. Registerkarte „Testergebnisse“.

Sie können die als Testressourcen verwendeten Dateien herunterladen, indem Sie auf der Registerkarte „Testressourcen“ auf „Öffnen“ klicken.

Registerkarte „Testressourcen“.

Abbildung 33. Registerkarte „Testressourcen“.

Um die Details des Testlaufs anzuzeigen, z. B. „create_time“ , wechseln Sie zur Registerkarte „Config“.

Registerkarte „Testkonfiguration“.

Abbildung 34. Registerkarte „Konfiguration“.

Erweiterte Funktionen

Konfigurationsdateien verwalten

Android Test Station verwendet in YAML geschriebene Konfigurationsdateien, um vordefinierte Optionen wie Tests, Build-Kanäle und Geräteaktionen zu laden. Eine Beispielkonfigurationsdatei für einige Optionen ist unten dargestellt.

// 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 Android Test Station-Instanz einrichten, können Sie Ihre Konfiguration mit anderen Benutzern teilen, indem Sie sie als Datei exportieren. Gehen Sie dazu auf die Seite „Einstellungen“ und klicken Sie oben rechts auf „Exportieren“ .

Konfigurationsdateiverwaltung

Abbildung 35. Konfigurationsdateiverwaltung.

Geben Sie die Datei nach dem Herunterladen Ihrer Konfigurationsdatei für andere Benutzer frei. Sie können die Konfigurationsdatei zu ihrer Android Test Station-Instanz hinzufügen, indem sie auf „Importieren“ klicken und die Konfigurationsdatei auswählen.

Erstellen Sie eine neue Geräteaktion

Geräteaktionen werden zur Automatisierung des Geräteeinrichtungsprozesses verwendet. Aktionen sind Skripte, die vor jedem Testlauf, auch vor Wiederholungsversuchen, auf jedem Gerät ausgeführt werden, auf dem der Test ausgeführt wird. Um eine Liste der verfügbaren Geräteaktionen anzuzeigen, gehen Sie zur Seite „Einstellungen“ und klicken Sie auf die Registerkarte „Geräteaktionen“. Mehrere Geräteaktionen sind bereits konfiguriert, z. B. Neustart und Flashen.

Registerkarte „Geräteaktionen“.

Abbildung 36. Registerkarte „Geräteaktionen“.

Fügen Sie eine neue Geräteaktion hinzu

  1. Klicken Sie auf Neue Geräteaktion .

    Aktionsschaltfläche „Neues Gerät“.

    Abbildung 37. Aktionsschaltfläche „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 Zielvorbereiter hinzufügen .

  4. Geben Sie den vollständigen Klassennamen des Trade Federation Target Preparer ein, zum Beispiel com.android.tradefed.targetprep.RunHostCommandTargetPreparer .

    Zielvorbereiter hinzufügen

    Abbildung 39. Hinzufügen eines Zielvorbereiters.

    Eine Liste der verfügbaren Zielvorbereiter finden Sie in der Referenz com.android.tradefed.targetprep .

    Liste der Zielvorbereiter

    Abbildung 40. Liste der Zielvorbereiter.

  5. Fügen Sie alle Optionen hinzu, die mit dem Zielvorbereiter verwendet werden sollen. Um die verfügbaren Optionen anzuzeigen, überprüfen Sie targetprep auf den Quellcode für jeden Zielvorbereiter in AOSP:

    Beispiel für eine Aktionsoption

    Abbildung 41. Beispiel für eine Aktionsoption.

  6. Um eine Option hinzuzufügen, klicken Sie auf „Zielvorbereitungsoption hinzufügen“ und geben Sie die erforderlichen Werte ein.

    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, z. B. Erstellen von Images zum Flashen. Um eine Ressourcendefinition hinzuzufügen, klicken Sie auf Testressource hinzufügen und füllen Sie die erforderlichen Felder 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 Dekomprimieren aus. Geben Sie dann das relative Zielverzeichnis unter dem temporären Arbeitsverzeichnis und die zu dekomprimierenden Dateinamen an. Wenn keine Dateinamen angegeben werden, werden alle Dateien aus der Testressource dekomprimiert.

    Ressourcen für Aktionstests

    Abbildung 43. Ressourcen für Aktionstests.

  8. Klicken Sie auf Aktualisieren .

    Aktion Änderungen speichern

    Abbildung 44. Aktion zum Speichern von Änderungen.

Verwalten Sie Tests

Bearbeiten Sie einen Test

Um einen gespeicherten Test zu bearbeiten, gehen Sie zur Seite „Tests“ und klicken Sie in der Zeile des Tests, den Sie ändern möchten, auf Bearbeiten . Klicken Sie nach dem Ändern der Testkonfiguration auf Aktualisieren .

Bearbeiten Sie einen Test

Abbildung 45. Bearbeiten eines Tests.

Fügen Sie einen neuen Test hinzu

Um einen neuen Test hinzuzufügen, gehen Sie zur Seite „Tests“ und klicken Sie auf „Neuen Test erstellen“ . Geben Sie die entsprechenden Informationen ein und klicken Sie auf Erstellen .

Erstellen Sie einen Test

Abbildung 46. Einen Test erstellen.

Kopieren Sie einen Test

Abbildung 47. Kopieren eines Tests.

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.

Um die Konfigurationen eines Hosts zu exportieren, gehen Sie zur Seite „Einstellungen“ und klicken Sie oben rechts auf „Exportieren“ .

Hostkonfigurationen exportieren

Abbildung 48. Exportieren einer Hostkonfiguration.

Um eine Host-Konfigurationsdatei zu importieren, gehen Sie zur Seite „Einstellungen“ und klicken Sie oben rechts auf „Importieren“ .

Hostkonfigurationen importieren

Abbildung 49. Importieren einer Hostkonfiguration.

Verwenden Sie lokale Dateien und Verzeichnisse

Ab Version R11 sind Dateien im Verzeichnis $HOME/.ats_storage in Android Test Station automatisch zugänglich. Kopieren oder verschieben Sie eine Datei in dieses Verzeichnis. Anschließend können Sie sie beim Planen eines Testlaufs auf der Registerkarte „Lokale Datei“ auswählen.

cp /path/to/file $HOME/.ats_storage

Auswählen einer lokalen Datei

Abbildung 50. Auswählen einer Datei aus dem Verzeichnis $HOME/.ats_storage .

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

Zusätzliche gemountete Verzeichnisse

Abbildung 51. Zusätzliche Verzeichnisse, die im lokalen Dateispeicher bereitgestellt werden.

Aktivieren Sie den Multi-Host-Modus

Im Multi-Host-Modus können Benutzer einen einzelnen ATS-Controller-Host verwenden, um die Geräte und Tests auf mehreren ATS-Worker-Hosts zu verwalten.

Architektur im Multi-Host-Modus

Abbildung 52. Architektur im Multi-Host-Modus.

  1. Um den ATS-Controller zu starten, verwenden Sie den folgenden Befehl:

    mtt start --operation_mode=ON_PREMISE
    
  2. Überprüfen Sie, ob der Controller unter http://${CONTROLLER_HOSTNAME}:8000 zugänglich ist.

  3. Um die Worker zu starten, verwenden Sie den folgenden Befehl:

    mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
    

Wenn Ihr Netzwerk keine Kommunikation zwischen Hosts zulässt, müssen Sie die weiter unten aufgeführten erweiterten Einrichtungsanweisungen für ATS Worker befolgen.

  1. Verbinden Sie die beiden Hosts über SSH-Tunnel. Wählen Sie Ports für die Primär- und Dateiserver-Ports aus, zum Beispiel 9000 und 9006.

    ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
    
  2. 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
    

Dateireiniger

Der File Cleaner ist ein Cron-Job, der stündlich ausgeführt wird, um Dateien basierend auf benutzerdefinierten Konfigurationen zu bereinigen. ATS verfügt über zwei Standardkonfigurationen zum Archivieren von Testlaufergebnissen und zum Löschen temporärer Dateien. In dieser Anleitung wird erklärt, wie Sie die Richtlinien und Konfigurationen anpassen, um Ihre Dateien effektiv zu verwalten.

Richtlinien

Eine Richtlinie definiert den Vorgang, der an Dateien oder Verzeichnissen ausgeführt werden soll, sowie die Kriterien zur Auswahl von Zielen. Die verfügbaren Operationen sind in der Tabelle aufgeführt:

Operationstyp Parameter
ARCHIVE remove_file : Wenn true , wird die Datei nach der Archivierung entfernt.
DELETE

Die Kriterien basieren auf Dateiattributen und Systeminformationen. Verfügbare Kriterien sind in der Tabelle aufgeführt:

Kriteriumstyp Beschreibung Parameter
LAST_MODIFIED_TIME Filtern Sie Dateien nach Datum und Uhrzeit der letzten Änderung. ttl : Verschiedene Arten von Zeitausdrücken werden unterstützt, zum Beispiel 10m , 2h , 7 days , 4w . Informationen zu unterstützten Formaten finden Sie unter pytimeparse .
LAST_ACCESS_TIME Filtern Sie Dateien nach Datum und Uhrzeit des letzten Zugriffs. Das Gleiche wie LAST_MODIFIED_TIME .
NAME_MATCH Filtern Sie Dateien anhand ihres Namens mithilfe eines regulären Ausdrucks. pattern : Regulärer Ausdruck, zum Beispiel [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip zum Abgleichen Ergebnis-Reißverschlüsse.
SYSTEM_AVAILABLE_SPACE Lösen Sie Aktionen basierend auf dem verfügbaren Speicherplatz auf dem System aus. threshold : Aktion auslösen, wenn der verfügbare Speicherplatz unter den Schwellenwert fällt, zum Beispiel 200 (B), 200KB , 200MB , 200GB , 2TB .

Neue Dateibereinigungsrichtlinie

Abbildung 53. Fügen Sie eine neue Dateibereinigungsrichtlinie hinzu.

Konfigurationen

Eine Konfiguration kombiniert eine oder mehrere Richtlinien mit bestimmten Verzeichnissen. Die Dateien und Verzeichnisse innerhalb der angegebenen Verzeichnisse werden basierend auf den definierten Richtlinien verarbeitet. Richtlinien werden in der Reihenfolge angewendet, in der sie in der Konfiguration erscheinen.

Alle Zielverzeichnisse müssen sich im Verzeichnis /data befinden. Wenn Ihre Konfiguration das Zielverzeichnis als logs angibt, wird es als /data/logs interpretiert.

Dateibereinigungskonfiguration bearbeiten

Abbildung 54. Bearbeiten Sie die Konfiguration des Dateireinigers.

Zurücksetzen

Wenn Sie auf „Einstellungen zurücksetzen“ klicken, wird die Dateibereinigungskonfiguration auf den Standardzustand zurückgesetzt. Durch diese Aktion werden ALLE benutzerdefinierten Elemente gelöscht.

Setzen Sie die Dateibereinigungseinstellungen zurück

Abbildung 55. Dateibereinigungseinstellungen zurücksetzen.

Unterstützung

Fehlerberichte

Ihr Beitrag zur Android Test Station trägt dazu bei, die Entwicklung des Tools zu verbessern, und wir freuen uns über Ihren Beitrag! Einzelheiten zur neuesten Version finden Sie in den ATS-Versionshinweisen . Um Fehler zu melden oder Vorschläge anzubieten, reichen Sie bitte einen Fehlerbericht ein . Partner sollten Fehler oder Vorschläge über ihre Partnerkanäle melden.