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
--devicean:--device shiba-35oder--device iphonese3-18-4 - Test: Geben Sie das Test-APK oder ‑IPA mit
--testan:--test /path/to/test.apkoder--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-bucketWenn Sie keinen Cloud Storage-Bucket mit dem Flag--bucket-name=angeben, verwendet die Google Cloud CLI einen Standard-Bucket mit dem NamenPROJECT_ID-devicerun. - Eingabedateien: Wenn Sie mit den Flags
--test,--additional-appsoder--xctestrun-fileeinen lokalen Pfad angeben, kopiert das Google Cloud CLI ihn automatisch in Ihren Cloud Storage-Bucket untergs://BUCKET_NAME/automation/inputs/DATE_TIME_FOUR_CHARS_SUFFIX/, wenn Sie den Befehl ausführen.BUCKET_NAMEwird standardmäßig aufPROJECT_ID-devicerungesetzt. - 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