É com grande satisfação que anunciamos a prévia da gcloud beta device-run
interface de linha de comando na Developer Device Platform (DDP, na sigla em inglês), um aprimoramento da gcloud
firebase test CLI.
A CLI gcloud beta device-run simplifica e moderniza a execução de testes de instrumentação e automação em dispositivos físicos e virtuais. Na versão de prévia, há suporte para instrumentação do Android e XCTest do iOS. Consulte a
visão geral da execução de dispositivos para
instruções.
Informações gerais e benefícios
A mudança do Firebase Test Lab para a Developer Device Platform (DDP) oferece várias vantagens importantes, principalmente em termos de economia de custos, velocidade de execução de testes, depuração avançada e suporte integrado para fluxos de trabalho orientados por IA.
Os desenvolvedores que executam testes para dispositivos móveis na nuvem precisam alternar entre diferentes modelos de configuração (Firebase Test Lab) ou manter outros pipelines e camadas de wrapper de ferramentas (Flank).
A CLI gcloud beta device-run na Developer Device Platform mescla esses recursos diretamente na CLI principal do Google Cloud. Ela oferece uma interface de back-end mais robusta, declarativa e escalonável que executa testes de maneira previsível e eficiente em dispositivos físicos e virtuais.
Os principais recursos e capacidades que tornam a DDP uma plataforma superior em comparação com o Firebase Test Lab incluem:
Fragmentação inteligente avançada
Embora o Firebase Test Lab dependa de dados de tempo de execução única para fragmentar testes, a fragmentação inteligente da DDP é muito mais inteligente:
- _Dados históricos de 30 dias_: a DDP analisa até 30 dias de histórico de execução para distribuir testes em fragmentos estáveis e otimizados.
- Rastreamento de duração específico do dispositivo: a DDP rastreia os tempos de execução de testes por modelo de dispositivo específico, em vez de usar médias de plataforma generalizadas em todos os dispositivos.
- Modelagem de sobrecarga do orquestrador: a DDP considera a sobrecarga de inicialização do Android Test Orchestrator para cada instância de teste, garantindo que os fragmentos não excedam as durações de destino.
Repetições detalhadas e econômicas
No Test Lab, se um único caso de teste em um fragmento falhar, todo o fragmento (potencialmente dezenas de testes) precisará ser repetido, o que aumenta os tempos de execução e os custos faturados. A DDP apresenta mecanismos de repetição altamente eficientes:
- Repetições direcionadas no nível do caso de teste: isola e repete apenas os casos de teste com falha específicos em um fragmento.
- Repetições sequenciais de testes instáveis: executa repetições de testes instáveis sequencialmente por padrão (em vez de simultaneamente, como o Test Lab). A combinação desse recurso com repetições no nível do caso de teste reduz drasticamente as execuções totais de testes, resultando em economias significativas nos custos faturados de dispositivos.
Suporte avançado para testes do Android
A DDP resolve limitações antigas na API de testes do Test Lab:
- Somente APK de teste (sem apps fictícios): o Test Lab exigia um app fictício para executar testes de auto-instrumentação. A DDP oferece suporte à execução de testes de instrumentação apenas com um APK de teste.
- Tempo limite de fragmento estendido: a DDP aumenta o limite máximo de execução de um único fragmento de teste de instrumentação do limite de 45 minutos do Test Lab para 3 horas.
- Vários orquestradores: a DDP oferece suporte a várias versões do Android Test Orchestrator.
- Suporte binário integrado em C++: a DDP oferece suporte à execução de binários C++ do Android.
Interações de dispositivos enriquecidas e depuração avançada
A DDP oferece interações mais profundas no dispositivo e artefatos de depuração muito mais ricos do que os disponíveis no Test Lab:
- Locais fictícios: a DDP oferece suporte à simulação de coordenadas de GPS do dispositivo.
- Suporte a ApkSets: os desenvolvedores podem instalar ApkSets (arquivos .
apks) diretamente nos dispositivos remotos. - Depuração avançada: a DDP expõe registros do sistema e informações de depuração importantes, incluindo
dumpsysebugreport, diretamente ao desenvolvedor.
Catálogo de dispositivos altamente escalonável
A DDP substitui o catálogo de ambiente rígido e pesado do Test Lab por uma API de catálogo de dispositivos completamente reformulada:
- Filtragem do lado do servidor: acelera as consultas e diminui a latência do payload, permitindo que os desenvolvedores filtrem dispositivos no lado do servidor.
- Dados de disponibilidade em tempo real: a DDP fornece informações de disponibilidade de dispositivos em tempo real diretamente para o Device Run, para que você possa escolher dispositivos altamente disponíveis e evitar longos tempos de fila, um recurso que o Test Lab não tem.
Escolher seu caminho de migração
Automatizar a migração com IA
Para facilitar essa transição, desenvolvemos uma habilidade de agente de tradução dedicada: migrating-device-run.
Se você estiver usando agentes de codificação de IA, como Antigravity, Claude Code, Codex, poderá traduzir facilmente seus scripts de teste personalizados. Basta copiar o URL do esquema de habilidade de migração e colar no espaço de trabalho do assistente de IA, conforme descrito aqui.
Modelo de comando de migração
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.)
Migrar anualmente
Siga nossas traduções de comandos e flags para migrar manualmente do Firebase Test Lab para a DDP. Ao se preparar para a migração, tenha em mente as seguintes diferenças estruturais:
- Arquitetura de CLI centrada em recursos:
gcloud beta device-runadota um padrão de comando<resource> <verb>moderno em três grupos de recursos principais:devices: acesso direto da CLI ao inventário do catálogo de dispositivos e detalhes abrangentes do dispositivo, substituindo comandos legados fragmentadosfirebase test android/ios models/versions/locales.software-versions: acesso direto da CLI às versões de software com suporte (como versões do Xcode e do Android Test Orchestrator), substituindo o comando legadofirebase test ios xcode-versions list.sessions: gerenciamento do ciclo de vida da sessão de ponta a ponta diretamente no terminal, incluindosessions submit instrumentation,sessions submit xctest,sessions wait,sessions describe [--full],sessions list, esessions cancel.
- Estrutura de subcomandos: os tipos de teste são padronizados e aninhados em
sessions submitcomo subcomandos limpos, em vez de usar flags de tipo.- DDP:
gcloud beta device-run sessions submit instrumentation(Android) ougcloud alpha device-run sessions submit xctest(iOS) - Test Lab:
gcloud firebase test android run --type=instrumentation(Android) ougcloud firebase test ios run --type=xctest(iOS)
- DDP:
- Apps pluralizados e mesclados: os APKs padrão e suplementares são mesclados
na lista de flags pluralizadas
--apps(por exemplo,--apps=app.apk,helper.apk) em vez de serem divididos em--appe--additional-apks. - Argumentos de dicionário e lista estruturados: substituíram arquivos separados por vírgulas
ou listas de ambiente por dicionário de CLI estruturado e formatos de lista:
--other-files-to-push KEY=VALUE,--additional-test-options KEY=VALUE,--paths-to-pulle--test-targets. - Controles unificados de fragmentação e repetição: suporte integrado para fragmentação uniforme
e inteligente, além de repetições paralelas
(
--flaky-test-parallel-retry,--flaky-test-retry-level) e diagnósticos de execução (--dumpsys,--bugreport,--video). - Execução assíncrona:
gcloud beta device-runoferece suporte à execução assíncrona, permitindo que você execute testes sem esperar que eles sejam concluídos. Usegcloud beta device-run sessions wait <SESSION_ID>para aguardar a conclusão. - Configuração YAML declarativa (
--flags-file): as equipes que migram do Flank e preferem arquivos YAML com controle de versão em vez de strings de script de shell podem usar o suporte universalgcloud's--flags-file=device-run-flags.yaml.
A seguir
- Use nosso guia de início rápido para configurar a Developer Device Platform.
- Explore nosso catálogo de dispositivos para encontrar todos os dispositivos disponíveis.
- Saiba mais sobre a execução de dispositivos para começar a executar testes.
- Acesse nossas traduções de comandos e flags para conferir um mapeamento das flags do Test Lab e do Flank para a DDP.