Visão geral da execução do dispositivo na Developer Device Platform

Bem-vindo ao Developer Device Platform Device Run, que permite executar testes em dispositivos Android físicos e virtuais e dispositivos iOS físicos na nuvem. Esta página descreve as semelhanças entre a execução de testes do Android e do iOS. Consulte Execução no dispositivo para Android e Execução no dispositivo para iOS para etapas específicas da plataforma.

Para usar essa Google Cloud CLI, você precisa fornecer o ID do projeto Google Cloud . Para um resumo dos comandos, consulte: gcloud beta device-run

Estas flags são obrigatórias:

  • Dispositivo: especifique um dispositivo usando --device: --device shiba-35 ou --device iphonese3-18-4
  • Teste: especifique o APK ou IPA de teste usando --test: --test /path/to/test.apk ou --test /path/to/test.ipa.

As opções de configuração a seguir são comuns aos testes do Android e do iOS.

Caminhos de entrada e saída do Cloud Storage

  • Bucket personalizado do Cloud Storage: é possível especificar um bucket personalizado do Cloud Storage para entradas e saídas: --bucket-name=my-custom-bucket. Se você não especificar um bucket do Cloud Storage usando a flag --bucket-name=, a Google Cloud CLI vai usar um bucket padrão chamado PROJECT_ID-devicerun.
  • Arquivos de entrada: quando você especifica um caminho local com as flags --test, --additional-apps ou --xctestrun-file, a Google Cloud CLI copia automaticamente para seu bucket do Cloud Storage em gs://BUCKET_NAME/automation/inputs/DATE_TIME_FOUR_CHARS_SUFFIX/ sempre que você executa o comando. BUCKET_NAME tem como padrão PROJECT_ID-devicerun.
  • Caminhos da nuvem: como o upload de arquivos grandes pode levar tempo, é possível referenciá-los diretamente usando os caminhos gs:// do Cloud Storage para economizar tempo de upload.
  • Arquivos de resultados: os artefatos de saída são enviados para o bucket do Cloud Storage em gs://BUCKET_NAME/automation/sessions/session-[SESSION_ID]/.

Execuções síncronas e assíncronas

Por padrão, o comando de envio é bloqueador (síncrono). Ele vai aguardar a conclusão do teste e imprimir uma tabela de resumo dos resultados.

Para enviar a sessão e retornar imediatamente após fazer upload de arquivos para o Cloud Storage, adicione a flag --async:

Android

gcloud beta device-run sessions submit instrumentation \
  --device shiba-35 \
  --test ./ANDROID_TESTS.apk \
  --async

iOS

gcloud beta device-run sessions submit xctest \
  --device iphonese3-18-4 \
  --test ./IOS_TESTS.zip \
  --async

Isso retorna um ID de sessão imediatamente. Em seguida, aguarde usando o comando sessions wait:

gcloud beta device-run sessions wait SESSION_ID

O comando vai bloquear até que o job seja concluído.

Vários dispositivos

Para executar os mesmos testes em vários dispositivos, forneça a flag --device com vários IDs de dispositivos separados por vírgulas ou com várias flags --device, cada uma especificando um ID de dispositivo diferente.

Android

gcloud beta device-run sessions submit instrumentation \
  --device shiba-34,tokay-36 \
  --test ./ANDROID_TESTS.apk

Ou:

gcloud beta device-run sessions submit instrumentation \
  --device shiba-34 \
  --device tokay-36 \
  --test ./ANDROID_TESTS.apk

iOS

gcloud beta device-run sessions submit xctest \
  --device iphonese3-18-4,iphonese3-26-3 \
  --test ./IOS_TESTS.zip

Ou:

gcloud beta device-run sessions submit xctest \
  --device iphonese3-18-4 \
  --device iphonese3-26-3 \
  --test ./IOS_TESTS.zip

Testar tempo limite

Limite a duração da execução do teste:

Android

gcloud beta device-run sessions submit instrumentation \
  --device shiba-35 \
  --test ./ANDROID_TESTS.apk \
  --instrumentation-timeout=10m

iOS

gcloud beta device-run sessions submit xctest \
  --device iphonese3-18-4 \
  --test ./IOS_TESTS.zip \
  --xctest-timeout=10m

O intervalo válido é de 1m a 1h e o padrão é 5m.

A seguir

Execute um teste do Android ou um teste do iOS com a plataforma de dispositivo do desenvolvedor.