Dengan senang hati kami mengumumkan Pratinjau antarmuka gcloud beta device-run
command line di Platform Perangkat Developer (DDP), yang merupakan peningkatan pada gcloud
firebase test CLI.
gcloud beta device-run CLI menyederhanakan dan memodernisasi pengujian instrumentasi dan otomatisasi yang berjalan di perangkat, baik fisik maupun virtual. Dalam rilis Pratinjau, Instrumentasi Android dan iOS XCTest didukung. Lihat
Ringkasan Device Run untuk mengetahui
petunjuknya.
Ringkasan dan manfaat
Beralih dari Firebase Test Lab ke Platform Perangkat Developer (DDP) menawarkan beberapa keunggulan utama, terutama dalam hal penghematan biaya, kecepatan eksekusi uji, proses debug lanjutan, dan dukungan bawaan untuk alur kerja berbasis AI.
Developer yang menjalankan pengujian seluler di cloud harus menyeimbangkan berbagai model konfigurasi (Firebase Test Lab) atau mempertahankan pipeline tambahan dan lapisan wrapper alat (Flank).
gcloud beta device-run CLI di Platform Perangkat Developer menggabungkan kemampuan ini langsung ke Google Cloud CLI inti. CLI ini menyediakan antarmuka backend yang lebih andal, deklaratif, dan skalabel yang menjalankan pengujian secara efisien dan dapat diprediksi di perangkat fisik dan virtual.
Fitur dan kemampuan utama yang menjadikan DDP sebagai platform yang lebih unggul dibandingkan Firebase Test Lab meliputi:
Smart Sharding Lanjutan
Meskipun Firebase Test Lab mengandalkan data waktu sekali proses untuk melakukan sharding pengujian, Smart Sharding DDP jauh lebih cerdas:
- _Data historis 30 Hari_: DDP menganalisis histori eksekusi hingga 30 hari untuk mendistribusikan pengujian ke dalam shard yang stabil dan dioptimalkan.
- Pelacakan durasi khusus perangkat: DDP melacak runtime eksekusi uji per model perangkat tertentu, bukan menggunakan rata-rata platform umum di semua perangkat.
- Pemodelan overhead Orchestrator: DDP memperhitungkan overhead startup Android Test Orchestrator untuk setiap instance pengujian, sehingga memastikan shard tidak melebihi durasi targetnya.
Percobaan ulang yang efektif dan terperinci
Di Test Lab, jika satu kasus pengujian dalam shard gagal, seluruh shard (yang berpotensi berisi puluhan pengujian) harus dicoba lagi, yang akan meningkatkan waktu eksekusi dan biaya yang ditagih. DDP memperkenalkan mekanisme percobaan ulang yang sangat efisien:
- Percobaan ulang tingkat kasus pengujian yang ditargetkan: Mengisolasi dan mencoba ulang hanya kasus pengujian tertentu yang gagal dalam shard.
- Percobaan ulang uji tidak stabil secara berurutan: Mengeksekusi percobaan ulang untuk uji tidak stabil secara berurutan secara default (bukan secara serentak seperti Test Lab). Menggabungkan hal ini dengan percobaan ulang tingkat kasus pengujian akan mengurangi total pengujian secara drastis, sehingga menghasilkan penghematan yang signifikan pada biaya penagihan perangkat.
Dukungan lanjutan untuk pengujian Android
DDP mengatasi batasan yang sudah lama ada di Test Lab Testing API:
- Hanya APK pengujian (tanpa aplikasi dummy): Test Lab secara historis memerlukan aplikasi dummy untuk menjalankan pengujian yang diinstrumentasi sendiri. DDP mendukung uji instrumentasi yang hanya menggunakan APK pengujian.
- Waktu tunggu shard yang diperpanjang: DDP meningkatkan batas eksekusi maksimum untuk satu shard uji instrumentasi dari batas 45 menit Test Lab menjadi 3 jam.
- Beberapa Orchestrator: DDP mendukung beberapa versi Android Test Orchestrator.
- Dukungan biner C++ bawaan: DDP mendukung eksekusi biner Android C++.
Interaksi perangkat yang diperkaya dan proses debug lanjutan
DDP menyediakan interaksi di perangkat yang lebih mendalam dan artefak proses debug yang jauh lebih kaya daripada yang tersedia di Test Lab:
- Lokasi tiruan: DDP mendukung koordinat GPS perangkat tiruan.
- Dukungan ApkSets: Developer dapat menginstal ApkSets (file .
apks) langsung ke perangkat jarak jauh. - Proses debug lanjutan: DDP mengekspos log sistem penting dan informasi proses debug, termasuk
dumpsysdanbugreport, langsung ke developer.
Katalog Perangkat yang sangat skalabel
DDP menggantikan katalog lingkungan Test Lab yang kaku dan berat dengan Device Catalog API yang didesain ulang sepenuhnya:
- Pemfilteran sisi server: Mempercepat kueri dan mengurangi latensi payload dengan memungkinkan developer memfilter perangkat di sisi server.
- Data ketersediaan real-time: DDP memberikan informasi ketersediaan perangkat real-time langsung ke Device Run sehingga Anda dapat memilih perangkat dengan tingkat ketersediaan tinggi dan menghindari waktu antrean yang lama—fitur yang sama sekali tidak dimiliki Test Lab.
Memilih jalur migrasi
Mengotomatiskan migrasi dengan AI
Untuk mempermudah transisi ini, kami telah mengembangkan kemampuan agen terjemahan khusus
skill: migrating-device-run.
Jika Anda menggunakan agen coding AI, seperti Antigravity, Claude Code, Codex, Anda dapat dengan mudah menerjemahkan skrip pengujian kustom. Cukup salin URL skema kemampuan migrasi dan tempelkan ke ruang kerja asisten AI Anda seperti yang dijelaskan di sini.
Template perintah migrasi
You are an expert migration assistant. I want to migrate my test command and
configuration to the new `gcloud beta device-run` command format.
Use this migration guideline as your ruleset:
https://docs.cloud.google.com/developer-device-platform/device-run/migrate/migration-skill.md.txt
Translate the following command and configuration to the new `gcloud beta
device-run` CLI: (Insert your raw Firebase Test / Flank YAML or bash script
here.)
Melakukan migrasi secara manual
Ikuti terjemahan perintah dan flag kami untuk melakukan migrasi secara manual dari Firebase Test Lab ke DDP. Saat Anda bersiap untuk bermigrasi, perhatikan perbedaan struktural berikut:
- Arsitektur CLI yang berpusat pada resource:
gcloud beta device-runmengadopsi pola perintah modern<resource> <verb>di tiga grup resource utama:devices: Akses CLI langsung ke inventaris katalog perangkat dan detail perangkat yang komprehensif, menggantikan perintah lama yang terfragmentasifirebase test android/ios models/versions/locales.software-versions: Akses CLI langsung ke versi software yang didukung (seperti versi Xcode dan Android Test Orchestrator), menggantikanfirebase test ios xcode-versions listlama.sessions: Pengelolaan siklus proses sesi end-to-end langsung di terminal, termasuksessions submit instrumentation,sessions submit xctest,sessions wait,sessions describe [--full],sessions list, dansessions cancel.
- Struktur subperintah: Jenis pengujian distandardisasi dan di-nesting di bawah
sessions submitsebagai subperintah yang bersih, bukan menggunakan flag jenis.- DDP:
gcloud beta device-run sessions submit instrumentation(Android) ataugcloud alpha device-run sessions submit xctest(iOS) - Test Lab:
gcloud firebase test android run --type=instrumentation(Android) ataugcloud firebase test ios run --type=xctest(iOS)
- DDP:
- Aplikasi yang digabungkan dan dibuat jamak: APK standar dan tambahan digabungkan
dalam daftar flag
--appsyang dibuat jamak (mis.--apps=app.apk,helper.apk) dan tidak dipisah menjadi--appdan--additional-apks. - Argumen daftar dan kamus terstruktur: Mengganti file yang dipisahkan koma
atau daftar lingkungan dengan format daftar dan kamus CLI terstruktur:
--other-files-to-push KEY=VALUE,--additional-test-options KEY=VALUE,--paths-to-pull, dan--test-targets. - Kontrol percobaan ulang dan sharding terpadu: Dukungan yang lancar untuk Uniform Sharding
dan Smart Sharding, bersama dengan percobaan ulang paralel
(
--flaky-test-parallel-retry,--flaky-test-retry-level) dan diagnostik runtime (--dumpsys,--bugreport,--video). - Eksekusi asinkron:
gcloud beta device-runmendukung eksekusi asinkron, sehingga Anda dapat menjalankan pengujian tanpa harus menunggu pengujian selesai. Gunakangcloud beta device-run sessions wait <SESSION_ID>untuk menunggu hingga selesai. - Konfigurasi YAML deklaratif (
--flags-file): Tim yang bermigrasi dari Flank dan lebih memilih file YAML yang dikontrol versi daripada string skrip shell dapat menggunakan dukungangcloud's universal--flags-file=device-run-flags.yamluniversal.
Langkah berikutnya
- Gunakan Panduan Memulai Cepat kami untuk menyiapkan Platform Perangkat Developer.
- Jelajahi Katalog Perangkat kami untuk menemukan semua perangkat yang tersedia.
- Pelajari Device Run untuk mulai menjalankan pengujian.
- Kunjungi terjemahan perintah dan flag kami untuk melihat pemetaan flag Test Lab dan Flank ke DDP.