Siamo felici di annunciare l'anteprima dell'interfaccia a riga di comando gcloud beta device-run nella Developer Device Platform (DDP), un miglioramento della CLI gcloud
firebase test.
La CLI gcloud beta device-run semplifica e modernizza l'esecuzione di test di automazione
e strumentazione sul dispositivo, sia fisico che virtuale. Nella release di anteprima sono supportati Android Instrumentation e iOS XCTest. Consulta la
panoramica dell'esecuzione del dispositivo per
le istruzioni.
Panoramica e vantaggi
Il passaggio da Firebase Test Lab alla Developer Device Platform (DDP) offre diversi vantaggi principali, in particolare in termini di risparmio sui costi, velocità di esecuzione dei test, debug avanzato e supporto integrato per i flussi di lavoro basati sull'AI.
Gli sviluppatori che eseguono test mobile nel cloud devono destreggiarsi tra diversi modelli di configurazione (Firebase Test Lab) o gestire pipeline e livelli wrapper di strumenti aggiuntivi (Flank).
La CLI gcloud beta device-run nella Developer Device Platform unisce queste
funzionalità direttamente nella Google Cloud CLI principale. Fornisce un'interfaccia backend più solida,
dichiarativa e scalabile che esegue i test in modo prevedibile ed
efficiente su dispositivi fisici e virtuali.
Le funzionalità e le capacità principali che rendono DDP una piattaforma superiore rispetto a Firebase Test Lab includono:
Advanced Smart Sharding
Mentre Firebase Test Lab si basa sui dati di temporizzazione di una singola esecuzione per suddividere i test, lo Smart Sharding di DDP è molto più intelligente:
- Dati storici di 30 giorni: DDP analizza fino a 30 giorni di cronologia di esecuzione per distribuire i test in shard stabili e ottimizzati.
- Monitoraggio della durata specifico per dispositivo: DDP monitora i tempi di esecuzione dei test per modello di dispositivo specifico anziché utilizzare medie generalizzate della piattaforma su tutti i dispositivi.
- Modellazione dell'overhead di Orchestrator: DDP tiene conto dell'overhead di avvio di Android Test Orchestrator per ogni istanza di test, assicurando che gli shard non superino le durate target.
Ritentativi granulari ed economici
In Test Lab, se un singolo scenario di test all'interno di uno shard non va a buon fine, è necessario riprovare l'intero shard (potenzialmente decine di test), il che aumenta sia i tempi di esecuzione sia i costi di fatturazione. DDP introduce meccanismi di ripetizione molto efficienti:
- Ritentativi mirati a livello di scenario di test: isola e ritenta solo gli scenari di test specifici non riusciti all'interno di uno shard.
- Ritentativi sequenziali dei test instabili: esegue i tentativi per i test instabili in sequenza per impostazione predefinita (anziché contemporaneamente come Test Lab). La combinazione di questa funzionalità con i nuovi tentativi a livello di scenario di test riduce drasticamente il numero totale di esecuzioni dei test, con conseguente risparmio significativo sui costi di fatturazione dei dispositivi.
Supporto avanzato per i test Android
DDP risolve le limitazioni di lunga data dell'API di test Test Lab:
- Solo APK di test (nessuna app fittizia): in passato Test Lab richiedeva un'app fittizia per eseguire test di autostrumentazione. DDP supporta l'esecuzione di test di strumentazione solo con un APK di test.
- Timeout esteso dello shard: DDP aumenta il limite di esecuzione massimo per uno shard di test di strumentazione singolo da 45 minuti a 3 ore.
- Più orchestrator: DDP supporta più versioni di Android Test Orchestrator.
- Supporto binario C++ integrato: DDP supporta l'esecuzione di binari C++ per Android.
Interazioni con i dispositivi arricchite e debug avanzato
DDP fornisce interazioni sul dispositivo più approfondite e artefatti di debug molto più ricchi rispetto a quelli disponibili in Test Lab:
- Posizioni simulate: DDP supporta la simulazione delle coordinate GPS del dispositivo.
- Supporto di ApkSet: gli sviluppatori possono installare ApkSet (file .
apks) direttamente sui dispositivi remoti. - Debug avanzato: DDP espone log di sistema e informazioni di debug
essenziali, inclusi
dumpsysebugreport, direttamente allo sviluppatore.
Catalogo dei dispositivi altamente scalabile
DDP sostituisce il catalogo di ambienti rigidi e pesanti di Test Lab con un'API Device Catalog completamente riprogettata:
- Filtro lato server: velocizza le query e riduce la latenza del payload consentendo agli sviluppatori di filtrare i dispositivi lato server.
- Dati di disponibilità in tempo reale: DDP fornisce informazioni sulla disponibilità dei dispositivi in tempo reale direttamente a Device Run, in modo che tu possa scegliere dispositivi ad alta disponibilità ed evitare tempi di attesa lunghi, una funzionalità completamente assente in Test Lab.
Scegli il percorso di migrazione
Automatizza la migrazione con l'AI
Per rendere questa transizione più semplice, abbiamo sviluppato un'abilità di agente di traduzione dedicata: migrating-device-run.
Se utilizzi agenti di programmazione basati sull'AI, come Antigravity, Claude Code, Codex, puoi tradurre facilmente i tuoi script di test personalizzati. Basta copiare l'URL dello schema della skill di migrazione e incollarlo nello spazio di lavoro dell'assistente AI come descritto qui.
Template di prompt per la migrazione
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
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.)
Eseguire la migrazione manualmente
Segui le nostre traduzioni di comandi e flag per eseguire la migrazione manualmente da Firebase Test Lab a DDP. Mentre ti prepari alla migrazione, tieni presente le seguenti differenze strutturali:
- Architettura CLI incentrata sulle risorse:
gcloud beta device-runadotta un pattern di comando<resource> <verb>moderno in tre gruppi di risorse principali:devices: accesso diretto alla CLI all'inventario del catalogo dei dispositivi e dettagli completi sui dispositivi, in sostituzione dei comandifirebase test android/ios models/versions/localeslegacy frammentati.software-versions: accesso diretto alla CLI alle versioni software supportate (come Xcode e Android Test Orchestrator), in sostituzione difirebase test ios xcode-versions listlegacy.sessions: gestione del ciclo di vita della sessione end-to-end direttamente nel terminale, inclusisessions submit instrumentation,sessions submit xctest,sessions wait,sessions describe [--full],sessions listesessions cancel.
- Struttura dei sottocomandi: i tipi di test sono standardizzati e nidificati in
sessions submitcome sottocomandi puliti anziché utilizzare flag di tipo.- DDP:
gcloud beta device-run sessions submit instrumentation(Android) ogcloud beta device-run sessions submit xctest(iOS) - Test Lab:
gcloud firebase test android run --type=instrumentation(Android) ogcloud firebase test ios run --type=xctest(iOS)
- DDP:
- App pluralizzate e unite: gli APK standard e supplementari vengono uniti
nell'elenco di flag
--appspluralizzati (ad es.--apps=app.apk,helper.apk) anziché essere suddiviso in--appe--additional-apks. - Argomenti di dizionari e elenchi strutturati: sono stati sostituiti i file separati da virgole o gli elenchi di variabili di ambiente con i formati di dizionari ed elenchi strutturati della CLI:
--other-files-to-push KEY=VALUE,--additional-test-options KEY=VALUE,--paths-to-pulle--test-targets. - Controlli unificati di sharding e nuovi tentativi: supporto continuo per lo sharding uniforme e lo sharding intelligente, insieme a nuovi tentativi paralleli (
--flaky-test-parallel-retry,--flaky-test-retry-level) e diagnostica di runtime (--dumpsys,--bugreport,--video). - Esecuzione asincrona:
gcloud beta device-runsupporta l'esecuzione asincrona, consentendoti di eseguire i test senza attendere il completamento. Utilizzagcloud beta device-run sessions wait <SESSION_ID>per attendere il completamento. - Configurazione YAML dichiarativa (
--flags-file): i team che eseguono la migrazione da Flank e che preferiscono i file YAML con controllo delle versioni alle stringhe di script shell possono utilizzare il supporto universale--flags-file=device-run-flags.yamldigcloud.
Passaggi successivi
- Utilizza la nostra guida rapida per configurare la piattaforma per dispositivi per sviluppatori.
- Esplora il nostro catalogo dei dispositivi per trovare tutti i dispositivi disponibili.
- Scopri di più su Device Run per iniziare a eseguire i test.
- Visita la nostra pagina sulle traduzioni di comandi e flag per visualizzare una mappatura dei flag di Test Lab e Flank a DDP.