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:
- Quellcode der Android Test Station
- Quellcode des TradeFed-Clusters
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:
- Führen Sie das Installationsprogramm aus.
- Installieren Sie es manuell , was die Installation mehrerer Programme und Ressourcen erfordert.
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:
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 Android Test Station CLI zu überprüfen.
Manuell installieren
Installieren Sie Docker
Befolgen Sie die Anweisungen zur Installation der Docker Community Edition (CE) auf Ihrem Linux-Computer.
Befolgen Sie die Schritte nach der Installation, um Docker als Nicht-Root-Benutzer zu verwalten .
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.
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.
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.
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 .
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.
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:
Befolgen Sie die Anweisungen unter Entwickleroptionen und Debugging aktivieren .
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.
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.
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“ .
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.
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.
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.
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.
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 .
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.
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.
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.
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.
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 .
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 .
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.
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.
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“ .
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 * * *
.
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.
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 .
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 .
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.
Abbildung 26. Testlaufliste.
Details zum Testlauf
Hier können Sie die Details eines Testlaufs einsehen, z. B. den Status, Protokolle und Ergebnisse.
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.
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.
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
.
Abbildung 30. Ergebnisse des Testlaufs.
Sie können Live-Host- und Tradefed-Protokolle auf der Registerkarte „Protokolle“ anzeigen.
Abbildung 31. Registerkarte „Protokolle“.
Die Ergebnisse für einzelne Module finden Sie auf der Registerkarte Testergebnisse.
Abbildung 32. Registerkarte „Testergebnisse“.
Sie können die als Testressourcen verwendeten Dateien herunterladen, indem Sie auf der Registerkarte „Testressourcen“ auf „Öffnen“ klicken.
Abbildung 33. Registerkarte „Testressourcen“.
Um die Details des Testlaufs anzuzeigen, z. B. „create_time“ , wechseln Sie zur Registerkarte „Config“.
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“ .
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.
Abbildung 36. Registerkarte „Geräteaktionen“.
Fügen Sie eine neue Geräteaktion hinzu
Klicken Sie auf Neue Geräteaktion .
Abbildung 37. Aktionsschaltfläche „Neues Gerät“.
Geben Sie einen Namen und eine Beschreibung ein.
Abbildung 38. Name der Geräteaktion.
Klicken Sie auf Zielvorbereiter hinzufügen .
Geben Sie den vollständigen Klassennamen des Trade Federation Target Preparer ein, zum Beispiel
com.android.tradefed.targetprep.RunHostCommandTargetPreparer
.Abbildung 39. Hinzufügen eines Zielvorbereiters.
Eine Liste der verfügbaren Zielvorbereiter finden Sie in der Referenz com.android.tradefed.targetprep .
Abbildung 40. Liste der Zielvorbereiter.
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:
Abbildung 41. Beispiel für eine Aktionsoption.
Um eine Option hinzuzufügen, klicken Sie auf „Zielvorbereitungsoption hinzufügen“ und geben Sie die erforderlichen Werte ein.
Abbildung 42. Beispiel für einen Aktionsbefehl.
Definieren Sie die Testressourcen, die zum Ausführen der Geräteaktion erforderlich sind, z. B. 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.
Abbildung 43. Ressourcen für Aktionstests.
Klicken Sie auf Aktualisieren .
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 .
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 .
Abbildung 46. Einen Test erstellen.
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“ .
Abbildung 48. Exportieren einer Hostkonfiguration.
Um eine Host-Konfigurationsdatei zu importieren, gehen Sie zur Seite „Einstellungen“ und klicken Sie oben rechts auf „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
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
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.
Abbildung 52. Architektur im Multi-Host-Modus.
Um den ATS-Controller zu starten, verwenden Sie den folgenden Befehl:
mtt start --operation_mode=ON_PREMISE
Überprüfen Sie, ob der Controller unter
http://${CONTROLLER_HOSTNAME}:8000
zugänglich ist.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.
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
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 . |
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.
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.
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.