Panduan ini menjelaskan cara menjalankan uji instrumentasi Android menggunakan
gcloud beta device-run CLI dan menemukan hasil di Google Cloud console. Panduan ini mengasumsikan Anda memiliki akun dan project Google Cloud .
Untuk menggunakan Google Cloud CLI ini, Anda harus memberikan ID Google Cloud project
Anda. Lihat gcloud beta device-run untuk mengetahui ringkasan perintah.
Sebelum memulai
Langkah-langkah ini mengasumsikan bahwa Anda telah:
- Membuat Google Cloud project.
- Siapkan Developer Device Platform dengan mengikuti Panduan memulai cepat.
- Diautentikasi dengan
gclouddi terminal. - Meninjau Ringkasan eksekusi perangkat untuk mengetahui informasi umum.
- Membuat pengujian berinstrumen untuk Android.
Langkah 1. Pilih perangkat
Dengan menggunakan CLI device-run, pengujian Android dapat dijalankan di seluruh perangkat fisik dan virtual yang tersedia. Untuk melihat daftar lengkap perangkat yang tersedia, buka Katalog Perangkat interaktif atau jalankan:
gcloud beta device-run devices list
Contoh output:
ID MAKE NAME MODEL FORM OS_VERSION CAPACITY AVAILABILITY PRODUCTS
tegu-35 Google Pixel 9a tegu PHYSICAL 35 MEDIUM LOW Automation, Streaming
tokay-34 Google Pixel 9 tokay PHYSICAL 34 HIGH HIGH Automation, Streaming
Lihat Katalog
Perangkat untuk mempelajari cara
memfilter daftar ini. Untuk menargetkan perangkat tertentu untuk eksekusi uji, gunakan
ID yang sesuai (mis. tegu-35) dalam perintah pengiriman.
Langkah 2. Menjalankan uji Instrumentasi
Perhatikan bahwa flag ini diperlukan untuk pengujian Android:
- Perangkat: Tentukan perangkat menggunakan
--device:--device shiba-35 - Test: Tentukan APK pengujian menggunakan
--test:--test /path/to/test.apk
Untuk menjalankan pengujian, keluarkan perintah yang menyerupai perintah berikut, tetapi dengan ID perangkat dan jalur pengujian Anda sendiri:
gcloud beta device-run sessions submit instrumentation \
--device shiba-34 \
--apps /path/to/app.apk \
--test /path/to/test.apk
Folder laporan hasil tugas dapat ditemukan di jalur Cloud Storage seperti
gs://BUCKET_NAME/automation/sessions/SESSION_ID/. Lihat output pengujian untuk link, yang menyerupai:
https://console.cloud.google.com/storage/browser/BUCKET_NAME/automation/sessions/SESSION_ID/.
Langkah 3. Mengonfigurasi pengujian
Setelah menjalankan pengujian, pelajari beberapa opsi konfigurasi:
- Beberapa perangkat: Untuk menjalankan pengujian yang sama di beberapa perangkat, berikan
flag
--devicedengan beberapa ID perangkat yang dipisahkan dengan koma, seperti--device shiba-34,tokay-36, atau dengan beberapa flag--device, yang masing-masing menentukan ID perangkat yang berbeda (misalnya,--device shiba-34 --device tokay-36). - Aplikasi tambahan: Secara opsional, Anda dapat menentukan satu atau beberapa APK untuk diinstal
sebelum menjalankan pengujian menggunakan tanda
--apps=path1,path2,...,path_n. Urutan yang Anda tentukan adalah urutan penginstalan aplikasi ini. - Waktu tunggu pengujian: Batasi durasi eksekusi:
--instrumentation-timeout=10m(Rentang yang valid adalah1mhingga1hdan defaultnya adalah5m). - Bucket Cloud Storage kustom: Jika Anda tidak menentukan bucket Cloud Storage menggunakan flag
--bucket-name=, Google Cloud CLI akan menggunakan bucket default bernamaPROJECT_ID-devicerun. - Upaya coba ulang uji tidak stabil: Tetapkan jumlah maksimum upaya untuk menjalankan ulang uji tidak stabil:
--flaky-test-attempts=3(Defaultnya adalah 1 upaya).
Langkah 4. Menggunakan sharding
Untuk menyertakan Platform Perangkat Developer dalam alur kerja Continuous Integration dan Continuous Delivery (CI/CD), Anda harus mempertimbangkan untuk membagi pengujian. Sharding pengujian membagi satu set pengujian menjadi sejumlah subgrup (shard) yang masing-masing berjalan secara terpisah. Platform Perangkat Developer otomatis menjalankan setiap shard secara paralel menggunakan beberapa perangkat, dan menyelesaikan keseluruhan set pengujian tersebut dalam waktu yang lebih singkat.
Langkah 4.1. Memilih opsi sharding
Jika tugas Anda hanya memiliki sedikit kasus pengujian, atau total waktu eksekusi semua kasus pengujian tidak lama, Anda tidak perlu menggunakan sharding. Jika Anda memiliki banyak kasus pengujian, atau total waktu eksekusi semua kasus pengujiannya lama, pertimbangkan untuk menggunakan sharding.
Platform Perangkat Developer mendukung sharding cerdas dan seragam. Saat memutuskan cara membagi pengujian, pertimbangkan opsi berikut:
Jika semua kasus pengujian akan memerlukan waktu yang sama, gunakan sharding seragam dengan membagi semua kasus pengujian menjadi
nshard.Jika waktu eksekusi kasus pengujian yang berbeda sangat bervariasi, gunakan pembagian cerdas. Platform Perangkat Developer menggunakan waktu eksekusi uji historis untuk membuat shard yang berbeda dan mencoba menyelesaikan semua shard dalam durasi yang serupa.
Sharding seragam
Untuk membagi pengujian dengan pembagian seragam, sertakan tanda
--sharding-option=uniform dan --uniform-sharding-count= dalam perintah
sessions submit instrumentation seperti berikut:
gcloud beta device-run sessions submit instrumentation \
--test path/to/test.apk \
--device shiba-34,tokay-36 \
--sharding-option=uniform \
--uniform-sharding-count=2
Anda akan melihat output yang menunjukkan Job status: 2 running. Layanan membuat dua tugas, satu untuk setiap perangkat. Karena input untuk kedua tugas identik, layanan memusatkan validasi, dan hanya melakukannya sekali.
Anda akan melihat dua tugas yang tercantum secara terpisah dalam output akhir perintah setelah selesai:
JOB NAME EXECUTION NAME EXECUTION RESULT
job-000 execution-000 PASSED
job-001 execution-000 PASSED
Sharding cerdas
Untuk memecah pengujian dengan pemecahan cerdas, sertakan flag --sharding-option=smart,
--smart-sharding-max-shard-count=, --smart-sharding-target-duration= (dalam
menit atau 1 jam), dan --smart-sharding-record-name= dalam perintah sessions
submit instrumentation seperti berikut:
gcloud beta device-run sessions submit instrumentation \
--test path/to/test.apk \
--device shiba-34,shiba-35,tokay-36 \
--sharding-option=smart \
--smart-sharding-max-shard-count=3 \
--smart-sharding-target-duration=5m \
--smart-sharding-record-name=test.yaml
Anda akan melihat output akhir yang menunjukkan tiga tugas telah dijalankan:
Session [session-3cd0564a] finished with result [ERROR].
JOB NAME EXECUTION NAME EXECUTION RESULT
job-000 execution-000 PASSED
job-001 execution-000 PASSED
job-002 execution-000 PASSED
Berikut ringkasan tanda sharding pintar yang digunakan di sini:
--smart-sharding-max-shard-count=SMART_SHARDING_MAX_SHARD_COUNT- Tentukan jumlah maksimum shard yang akan dibuat untuk smart sharding. Jika tidak disetel atau disetel ke 0, batas maksimum yang ditentukan sistem akan digunakan. Rentang yang valid adalah 0 hingga 20 untuk perangkat fisik dan 0 hingga 200 untuk perangkat virtual.--smart-sharding-target-duration=SMART_SHARDING_TARGET_DURATION- Tentukan waktu eksekusi yang ditargetkan (misalnya, 2m, 10m, 1j) per shard untuk penyusunan shard cerdas. Rentang yang valid adalah 2 menit hingga 1 jam. Wajib diisi jika--sharding-option=smart.--smart-sharding-record-name=SMART_SHARDING_RECORD_NAME- Tentukan nama file rekaman smart sharding, tanpa menyertakan ekstensi file. Wajib jika --sharding-option=smart. File YAML ini berada di bucket Storage Google Cloud yang ditentukan oleh--bucket-namedi direktorismart-sharding/. Jika file tidak ada, file akan dibuat secara otomatis; jika tidak, isinya akan diperbarui setelah sesi selesai.
Langkah 5. Menjelajahi dan mengelola proses pengujian
Untuk mode asinkron dan sinkron perintah sessions submit instrumentation,
Anda dapat menggunakan perintah sessions describe untuk membuat kueri status tugas selama
eksekusi, atau mendapatkan hasilnya setelah selesai:
gcloud beta device-run sessions describe SESSION_ID
Output merangkum hasil pengujian dan menautkan ke hasil di konsol Google Cloud . Contoh:
Session SESSION_ID finished with result [FAILED].
Result files are stored at [https://console.cloud.google.com/storage/browser/BUCKET_NAME/automation/sessions/SESSION_ID/].
JOB NAME EXECUTION NAME EXECUTION RESULT
job-000 all FAILED: 2 test cases failed, 5 passed
Gunakan perintah berikut untuk mencantumkan semua sesi yang sedang berjalan dan telah selesai:
gcloud beta device-run sessions list
Menerima output yang berisi daftar sesi di project Anda, yang menyerupai:
SESSION_ID START_TIME STATE
session-4825e153 2026-07-28T16:38:43.155Z DONE
session-813ca602 2026-07-28T22:40:32.415Z DONE
session-67cd0570 2026-07-16T08:25:55.474Z DONE
session-17cc299c 2026-07-14T14:31:33.649Z DONE
session-911d0763 2026-07-09T00:39:02.051Z DONE
session-4e943fea 2026-07-15T23:08:32.252Z DONE
session-0132e458 2026-08-20T18:33:19.751Z DONE
session-1077f07b 2026-07-28T22:35:43.848Z DONE
session-71b054c6 2026-07-15T01:15:41.643Z DONE
session-4f8b2e45 2026-08-06T23:11:56.161Z DONE
Perintah daftar sessions mendukung semua opsi flag Google Cloud CLI standar. Contoh:
gcloud beta device-run sessions list --limit 5
Yang menghasilkan hasil yang menyerupai:
SESSION_ID START_TIME STATE
session-4825e153 2026-07-28T16:38:43.155Z DONE
session-813ca602 2026-07-28T22:40:32.415Z DONE
93ec2df2-d5bf-4c36-b7f7-c2a4fb0dc3ce 2026-07-03T05:10:58.015Z DONE
session-67cd0570 2026-07-16T08:25:55.474Z DONE
session-17cc299c 2026-07-14T14:31:33.649Z DONE
Atau untuk menemukan semua sesi yang sedang berjalan, jalankan:
gcloud beta device-run sessions list --filter RUNNING
Dengan asumsi Anda memiliki sesi yang sedang berjalan, Anda akan melihat hasil yang menyerupai:
SESSION_ID START_TIME STATE
session-d7ff8b81 RUNNING
Jika tidak, Anda akan menerima Listed 0 items.
Untuk membatalkan sesi yang sedang berjalan, jalankan perintah ini dengan ID sesi Anda:
gcloud beta device-run sessions cancel SESSION_ID
Perintah akan segera ditampilkan, karena sesi hanya ditandai untuk dibatalkan. Pembatalan terjadi secara asinkron di backend.
Jika sesi sudah selesai, hanya status saat ini yang dicetak. Meminta pembatalan untuk sesi yang telah selesai bukanlah suatu kesalahan.
Langkah berikutnya
Selanjutnya, temukan dan analisis log.