Developer Device Platform – Übersicht über Geräteausführungen

Willkommen bei „Developer Device Platform Device Run“. Damit können Sie Tests auf physischen und virtuellen Android-Geräten sowie auf physischen iOS-Geräten in der Cloud ausführen. Auf dieser Seite werden Gemeinsamkeiten beim Ausführen von Android- und iOS-Tests beschrieben. Plattformspezifische Schritte findest du unter Device Run für Android und Device Run für iOS.

Wenn Sie diese Google Cloud CLI verwenden möchten, müssen Sie die ID Ihres Google Cloud Projekts angeben. Eine Zusammenfassung der Befehle finden Sie unter gcloud beta device-run.

Diese Flags sind erforderlich:

  • Gerät: Geben Sie ein Gerät mit --device an: --device shiba-35 oder --device iphonese3-18-4
  • Test: Geben Sie das Test-APK oder ‑IPA mit --test an: --test /path/to/test.apk oder --test /path/to/test.ipa

Die folgenden Konfigurationsoptionen sind sowohl für Android- als auch für iOS-Tests verfügbar.

Cloud Storage-Pfade für Ein- und Ausgabe

  • Benutzerdefinierter Cloud Storage-Bucket: Sie können einen benutzerdefinierten Cloud Storage-Bucket für Ein- und Ausgaben angeben: --bucket-name=my-custom-bucket Wenn Sie keinen Cloud Storage-Bucket mit dem Flag --bucket-name= angeben, verwendet die Google Cloud CLI einen Standard-Bucket mit dem Namen PROJECT_ID-devicerun.
  • Eingabedateien: Wenn Sie mit den Flags --test, --additional-apps oder --xctestrun-file einen lokalen Pfad angeben, kopiert das Google Cloud CLI ihn automatisch in Ihren Cloud Storage-Bucket unter gs://BUCKET_NAME/automation/inputs/DATE_TIME_FOUR_CHARS_SUFFIX/, wenn Sie den Befehl ausführen. BUCKET_NAME wird standardmäßig auf PROJECT_ID-devicerun gesetzt.
  • Cloud-Pfade: Da das Hochladen großer Dateien zeitaufwendig sein kann, können Sie direkt auf sie verweisen, indem Sie ihre Cloud Storage-gs://-Pfade verwenden, um Uploadzeit zu sparen.
  • Ergebnisdateien: Ausgabeartefakte werden in Ihren Cloud Storage-Bucket unter gs://BUCKET_NAME/automation/sessions/session-[SESSION_ID]/ hochgeladen.

Synchrone und asynchrone Ausführungen

Standardmäßig ist der Befehl „submit“ blockierend (synchron). Das Tool wartet, bis der Test abgeschlossen ist, und gibt dann eine Zusammenfassungstabelle der Ergebnisse aus.

Wenn Sie die Sitzung einreichen und sofort nach dem Hochladen von Dateien in Cloud Storage zurückkehren möchten, fügen Sie das Flag --async hinzu:

Android

gcloud beta device-run sessions submit instrumentation \
  --device shiba-35 \
  --test ./ANDROID_TESTS.apk \
  --async

iOS

gcloud beta device-run sessions submit xctest \
  --device iphonese3-18-4 \
  --test ./IOS_TESTS.zip \
  --async

Dadurch wird sofort eine Sitzungs-ID zurückgegeben. Anschließend können Sie mit dem Befehl sessions wait darauf warten:

gcloud beta device-run sessions wait SESSION_ID

Der Befehl wird blockiert, bis der Job abgeschlossen ist.

Mehrere Geräte

Wenn Sie dieselben Tests auf mehreren Geräten ausführen möchten, geben Sie das Flag --device mit mehreren durch Kommas getrennten Geräte-IDs oder mit mehreren --device-Flags an, wobei jedes eine eigene Geräte-ID angibt.

Android

gcloud beta device-run sessions submit instrumentation \
  --device shiba-34,tokay-36 \
  --test ./ANDROID_TESTS.apk

oder:

gcloud beta device-run sessions submit instrumentation \
  --device shiba-34 \
  --device tokay-36 \
  --test ./ANDROID_TESTS.apk

iOS

gcloud beta device-run sessions submit xctest \
  --device iphonese3-18-4,iphonese3-26-3 \
  --test ./IOS_TESTS.zip

oder:

gcloud beta device-run sessions submit xctest \
  --device iphonese3-18-4 \
  --device iphonese3-26-3 \
  --test ./IOS_TESTS.zip

Testzeitlimit

Ausführungsdauer des Tests begrenzen:

Android

gcloud beta device-run sessions submit instrumentation \
  --device shiba-35 \
  --test ./ANDROID_TESTS.apk \
  --instrumentation-timeout=10m

iOS

gcloud beta device-run sessions submit xctest \
  --device iphonese3-18-4 \
  --test ./IOS_TESTS.zip \
  --xctest-timeout=10m

Der gültige Bereich liegt zwischen 1m und 1h. Der Standardwert ist 5m.

Nächste Schritte

Android-Test ausführen oder iOS-Test ausführen mit der Developer Device Platform