Siamo felici di annunciare l'anteprima dell'gcloud beta device-run
interfaccia a riga di comando in Developer Device Platform (DDP), un miglioramento della gcloud
firebase test CLI.
La CLI gcloud beta device-run semplifica e modernizza l'esecuzione di test di automazione e test di instrumentazione sui dispositivi, sia fisici che virtuali. Nella release di anteprima sono supportati Android Instrumentation e iOS XCTest. Per le
istruzioni, consulta la
panoramica di Device Run.
Panoramica e vantaggi
Il passaggio da Firebase Test Lab a Developer Device Platform (DDP) offre diversi vantaggi importanti, 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 di wrapper di strumenti aggiuntivi (Flank).
La CLI gcloud beta device-run in 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 sia su dispositivi fisici che virtuali.
Le funzionalità principali che rendono DDP una piattaforma superiore rispetto a Firebase Test Lab includono:
Smart Sharding avanzato
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 delle esecuzioni per distribuire i test in shard stabili e ottimizzati.
- Monitoraggio della durata specifica del dispositivo: DDP monitora i tempi di esecuzione dei test per modello di dispositivo specifico anziché utilizzare le medie generalizzate della piattaforma su tutti i dispositivi.
- Modellazione del sovraccarico dell'orchestratore: DDP tiene conto del sovraccarico di avvio di Android Test Orchestrator per ogni istanza di test, assicurandosi che gli shard non superino le durate target.
Ripetizioni precise ed economiche
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 fatturati. DDP introduce meccanismi di ripetizione altamente efficienti:
- Ripetizioni mirate a livello di scenario di test: isola e riprova solo gli scenari di test specifici non riusciti all'interno di uno shard.
- Ripetizioni sequenziali di test instabili: per impostazione predefinita, esegue le ripetizioni per i test instabili in sequenza (anziché contemporaneamente come Test Lab). La combinazione di questa funzionalità con le ripetizioni a livello di scenario di test riduce drasticamente il numero totale di esecuzioni dei test, con un conseguente risparmio significativo sui costi fatturati dei dispositivi.
Supporto avanzato per i test Android
DDP risolve le limitazioni di lunga data nell'API di test di Test Lab:
- Solo APK di test (nessuna app fittizia): in passato, Test Lab richiedeva un'app fittizia per eseguire test di auto-strumentazione. DDP supporta l'esecuzione di test di strumentazione con un solo APK di test.
- Timeout esteso dello shard: DDP aumenta il limite massimo di esecuzione per un singolo shard di test di strumentazione da 45 minuti (il limite di Test Lab) a 3 ore.
- Più orchestratori: DDP supporta più versioni di Android Test Orchestrator.
- Supporto binario C++ integrato: DDP supporta l'esecuzione di file binari C++ Android.
Interazioni con i dispositivi arricchite e debug avanzato
DDP fornisce interazioni più approfondite sui dispositivi e artefatti di debug molto più ricchi rispetto a quelli disponibili in Test Lab:
- Posizioni fittizie: 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 direttamente allo sviluppatore log di sistema e informazioni di debug
vitali, tra cui
dumpsysebugreport.
Catalogo dei dispositivi altamente scalabile
DDP sostituisce il catalogo di ambienti rigido e pesante di Test Lab con un'API del catalogo dei dispositivi 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 affidabilità ed evitare lunghi tempi di attesa in coda, una funzionalità di cui Test Lab non dispone.
Scegli il percorso di migrazione
Automatizzare la migrazione con l'AI
Per semplificare questa transizione, abbiamo sviluppato una competenza di traduzione dedicata
skill: migrating-device-run.
Se utilizzi agenti di codifica AI, come Antigravity, Claude Code, Codex, puoi tradurre facilmente gli script di test personalizzati. Basta copiare l'URL dello schema della competenza di migrazione e incollarlo nell'area di lavoro dell' assistente AI come descritto qui.
Modello di prompt di 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.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.)
Eseguire la migrazione manualmente
Segui le nostre traduzioni di comandi e flag per eseguire la migrazione manualmente da Firebase Test Lab a DDP. Quando ti prepari per la 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 CLI diretto all'inventario del catalogo dei dispositivi e dettagli completi dei dispositivi, in sostituzione dei comandi legacy frammentatifirebase test android/ios models/versions/locales.software-versions: accesso CLI diretto alle versioni software supportate (come le versioni di Xcode e Android Test Orchestrator), in sostituzione del comando legacyfirebase test ios xcode-versions list.sessions: gestione del ciclo di vita end-to-end della sessione direttamente nel terminale, inclusisessions submit instrumentation,sessions submit xctest,sessions wait,sessions describe [--full],sessions list, esessions cancel.
- Struttura dei sottocomandi: i tipi di test sono standardizzati e nidificati in
sessions submitcome sottocomandi puliti anziché utilizzare i flag di tipo.- DDP:
gcloud beta device-run sessions submit instrumentation(Android) ogcloud alpha 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 dei flag
--appspluralizzato (ad es.--apps=app.apk,helper.apk) anziché suddivisi in--appe--additional-apks. - Argomenti di dizionari e elenchi strutturati: gli elenchi di file
o ambienti separati da virgole sono stati sostituiti con formati di dizionari ed elenchi CLI strutturati:
--other-files-to-push KEY=VALUE,--additional-test-options KEY=VALUE,--paths-to-pulle--test-targets. - Controlli unificati di suddivisione e ripetizione: supporto continuo per la suddivisione uniforme
e lo Smart Sharding, insieme a ripetizioni parallele
(
--flaky-test-parallel-retry,--flaky-test-retry-level) e diagnostica di runtime (--dumpsys,--bugreport,--video). - Esecuzione asincrona:
gcloud beta device-runsupporta l'esecuzione asincrona, che ti consente 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 preferiscono i file YAML con controllo della versione alle stringhe di script shell possono utilizzare il supporto universalegcloud's--flags-file=device-run-flags.yaml.
Passaggi successivi
- Utilizza la nostra guida rapida per configurare la Developer Device Platform.
- 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 le nostre traduzioni di comandi e flag per visualizzare un mapping dei flag di Test Lab e Flank a DDP.