REST Resource: testEnvironmentCatalog

Recurso: TestEnvironmentCatalog

Uma descrição de um ambiente de teste.

Representação JSON
{

  // Union field environment_catalog can be only one of the following:
  "androidDeviceCatalog": {
    object (AndroidDeviceCatalog)
  },
  "iosDeviceCatalog": {
    object (IosDeviceCatalog)
  },
  "networkConfigurationCatalog": {
    object (NetworkConfigurationCatalog)
  },
  "softwareCatalog": {
    object (ProvidedSoftwareCatalog)
  },
  "deviceIpBlockCatalog": {
    object (DeviceIpBlockCatalog)
  }
  // End of list of possible types for union field environment_catalog.
}
Campos
Campo de união environment_catalog. Apenas saída. environment_catalog pode ser apenas de um dos tipos a seguir:
androidDeviceCatalog

object (AndroidDeviceCatalog)

Dispositivos Android compatíveis;

iosDeviceCatalog

object (IosDeviceCatalog)

Dispositivos iOS compatíveis.

networkConfigurationCatalog

object (NetworkConfigurationCatalog)

Configurações de rede suportadas.

softwareCatalog

object (ProvidedSoftwareCatalog)

O ambiente de teste de software fornecido pelo TestExecutionService.

deviceIpBlockCatalog

object (DeviceIpBlockCatalog)

Os blocos de IP usados pelos dispositivos no ambiente de teste.

AndroidDeviceCatalog

Os dispositivos Android compatíveis no momento.

Representação JSON
{
  "models": [
    {
      object (AndroidModel)
    }
  ],
  "versions": [
    {
      object (AndroidVersion)
    }
  ],
  "runtimeConfiguration": {
    object (AndroidRuntimeConfiguration)
  }
}
Campos
models[]

object (AndroidModel)

O conjunto de modelos de dispositivos Android compatíveis.

versions[]

object (AndroidVersion)

O conjunto de versões do sistema operacional Android compatíveis.

runtimeConfiguration

object (AndroidRuntimeConfiguration)

O conjunto de configurações de tempo de execução compatíveis.

AndroidModel

Uma descrição dos testes de dispositivos Android pode ser executada.

Representação JSON
{
  "id": string,
  "name": string,
  "manufacturer": string,
  "brand": string,
  "codename": string,
  "form": enum (DeviceForm),
  "formFactor": enum (DeviceFormFactor),
  "perVersionInfo": [
    {
      object (PerAndroidVersionInfo)
    }
  ],
  "screenX": integer,
  "screenY": integer,
  "screenDensity": integer,
  "lowFpsVideoRecording": boolean,
  "supportedVersionIds": [
    string
  ],
  "supportedAbis": [
    string
  ],
  "tags": [
    string
  ],
  "thumbnailUrl": string
}
Campos
id

string

O código exclusivo e opaco deste modelo. Use-o para chamar o TestExecutionService.

name

string

O nome legível por humanos para fins de marketing deste modelo de dispositivo. Exemplos: "Nexus 5", "Galaxy S5".

manufacturer

string

Fabricante deste dispositivo.

brand

string

A marca deste dispositivo, Exemplo: "Google", "Samsung".

codename

string

O nome do desenho industrial. Isso corresponde a android.os.Build.DEVICE.

form

enum (DeviceForm)

Se este dispositivo é virtual ou físico.

formFactor

enum (DeviceFormFactor)

Se este dispositivo é um smartphone, tablet, wearable etc.

perVersionInfo[]

object (PerAndroidVersionInfo)

Informações específicas da versão de um modelo Android.

screenX

integer

Tamanho da tela na dimensão horizontal (X) medida em pixels.

screenY

integer

Tamanho da tela na dimensão vertical (Y) medida em pixels.

screenDensity

integer

Densidade da tela em DPI. Corresponde a ro.sf.lcd_density

lowFpsVideoRecording

boolean

Verdadeiro se e somente se os testes com esse modelo forem registrados ao unir as capturas de tela. Veja use_low_spec_video_recording na configuração do dispositivo.

supportedVersionIds[]

string

O conjunto de versões do Android que este dispositivo aceita.

supportedAbis[]

string

A lista de ABIs compatíveis com este dispositivo. Isso corresponde a android.os.Build.SUPPORTED_ABIS (para o nível de API 21 e mais recentes) ou a android.os.Build.CPU_ABI/CPU_ABI2. A ABI preferida é o primeiro elemento da lista.

Os elementos podem ter o prefixo "versionId:" (onde versionId é o ID de um AndroidVersion), denotando uma ABI que é compatível apenas com uma versão específica.

tags[]

string

Tags para esta dimensão. Exemplos: "default", "preview", "deprecated".

thumbnailUrl

string

URL de uma imagem em miniatura (foto) do dispositivo.

DeviceForm

Se o dispositivo é físico ou virtual.

Enums
DEVICE_FORM_UNSPECIFIED Não use. Apenas para versões proto.
VIRTUAL Dispositivo virtual Android usando a virtualização nativa do Compute Engine. Somente o Firebase Test Lab.
PHYSICAL Hardware real.
EMULATOR Dispositivo virtual Android usando o emulador na virtualização aninhada. Equivalente ao Android Studio.

DeviceFormFactor

É o formato de um dispositivo.

Enums
DEVICE_FORM_FACTOR_UNSPECIFIED Não use. Apenas para versões proto.
PHONE Este dispositivo tem o formato de um smartphone.
TABLET Este dispositivo tem o formato de um tablet.
WEARABLE Este dispositivo tem o formato de um relógio ou outro wearable.

PerAndroidVersionInfo

Informações específicas da versão de um modelo Android.

Representação JSON
{
  "versionId": string,
  "deviceCapacity": enum (DeviceCapacity),
  "interactiveDeviceAvailabilityEstimate": string,
  "directAccessVersionInfo": {
    object (DirectAccessVersionInfo)
  }
}
Campos
versionId

string

Uma versão do Android.

deviceCapacity

enum (DeviceCapacity)

É o número de dispositivos on-line de uma versão do Android.

interactiveDeviceAvailabilityEstimate

string (Duration format)

Apenas saída. O tempo de espera estimado para uma única sessão interativa de dispositivo usando o acesso direto.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

directAccessVersionInfo

object (DirectAccessVersionInfo)

Apenas saída. Identifica clientes compatíveis com o DirectAccess para essa versão do Android.

Capacidade do dispositivo

Capacidade com base no número de dispositivos on-line no laboratório.

Importante: a capacidade do dispositivo não reflete diretamente o tamanho da fila em um momento. Ele não considera o tráfego atual nem o estado dos dispositivos.

Para dispositivos físicos, o número é a média de dispositivos on-line nos últimos 30 dias.

Enums
DEVICE_CAPACITY_UNSPECIFIED O valor da capacidade do dispositivo é desconhecido ou não foi definido.
DEVICE_CAPACITY_HIGH

Dispositivos de alta capacidade (o laboratório tem muitos deles).

Em geral, esses dispositivos são sugeridos para executar um grande número de testes simultâneos (por exemplo, mais de 100 testes).

Dispositivos de alta capacidade não garantem tempos de espera curtos devido a vários fatores: 1. Tráfego (o nível de uso deles em determinado momento) 2. Os dispositivos de alta capacidade são priorizados para determinados usos, o que pode fazer com que os testes do usuário sejam mais lentos do que a seleção de outros tipos de dispositivos semelhantes.

DEVICE_CAPACITY_MEDIUM

Dispositivos de capacidade média. O laboratório tem um bom número deles, mas não tanto quanto os de alta capacidade.

Esses dispositivos são adequados para menos execuções de teste (por exemplo, menos de 100 testes) e apenas para contagens baixas de fragmentos (por exemplo, menos de 10 fragmentos).

DEVICE_CAPACITY_LOW

Dispositivos de baixa capacidade (o laboratório tem um pequeno número deles).

Esses dispositivos poderão ser usados se os usuários precisarem testar o modelo e a versão em questão. Devido à baixa capacidade, os testes podem levar muito mais tempo para serem concluídos, especialmente se muitos deles forem invocados de uma só vez. Esses dispositivos não são adequados para fragmentação de testes.

DEVICE_CAPACITY_NONE

Dispositivos que não estão no laboratório.

Esses dispositivos estão indisponíveis de forma temporária ou permanente e não devem ser solicitados. Se o dispositivo também estiver marcado como descontinuado, é provável que esse estado seja permanente.

DirectAccessVersionInfo

Indica se o acesso direto é compatível e de acordo com as versões do cliente.

O DirectAccessService está atualmente disponível como uma prévia para alguns desenvolvedores. Inscreva-se hoje em nome de você e da sua equipe em https://developer.android.com/studio/preview/android-device-streaming

Representação JSON
{
  "directAccessSupported": boolean,
  "minimumAndroidStudioVersion": string
}
Campos
directAccessSupported

boolean

Se há suporte para acesso direto. Espera-se que os clientes filtrem a lista de dispositivos para apenas modelos e versões do Android compatíveis com o acesso direto quando essa for a intent do usuário.

minimumAndroidStudioVersion

string

Apenas saída. Indica a compatibilidade entre dispositivo e cliente, em que um dispositivo funciona apenas com determinadas soluções alternativas implementadas no cliente do Android Studio. O formato esperado é "major.minor.micro.patch", por exemplo, "5921.22.2211.8881706".

AndroidVersion

Uma versão do sistema operacional Android.

Representação JSON
{
  "id": string,
  "versionString": string,
  "apiLevel": integer,
  "codeName": string,
  "releaseDate": {
    object (Date)
  },
  "distribution": {
    object (Distribution)
  },
  "tags": [
    string
  ]
}
Campos
id

string

Um código opaco para esta versão do Android. Use-o para invocar o TestExecutionService.

versionString

string

Uma string representando esta versão do sistema operacional Android. Exemplos: "4.3", "4.4".

apiLevel

integer

O nível da API para esta versão do Android. Exemplos: 18, 19.

codeName

string

O nome do código para esta versão do Android. Exemplos: "JellyBean", "KitKat".

releaseDate

object (Date)

A data em que esta versão do Android ficou disponível no mercado.

distribution

object (Distribution)

Participação no mercado para esta versão.

tags[]

string

Tags para esta dimensão. Exemplos: "default", "preview", "deprecated".

Data

Representa uma data inteira ou parcial do calendário, como um aniversário. A hora do dia e o fuso horário são especificados em outro lugar ou são insignificantes. A data é referente ao calendário gregoriano. Isso pode representar uma das seguintes opções:

  • uma data completa, com valores de ano, mês e dia diferentes de zero;
  • um mês e dia, com um ano zero (por exemplo, uma data comemorativa);
  • um ano sozinho, com um mês zero e um dia zero;
  • um ano e mês, com um dia zero (por exemplo, uma data de validade de cartão de crédito).

Tipos relacionados:

Representação JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Campos
year

integer

Ano da data. Precisa ser de 1 a 9.999 ou 0 para especificar uma data sem ano.

month

integer

Mês do ano. Precisa ser de 1 a 12, ou 0 para especificar um ano sem um mês e dia.

day

integer

Dia do mês. Precisa ser de 1 a 31 e válido para o ano e o mês, ou 0 para especificar um ano sozinho ou um ano e mês em que o dia não é significativo.

Distribuição

Dados sobre o número relativo de dispositivos que executam uma determinada configuração da plataforma Android.

Representação JSON
{
  "measurementTime": string,
  "marketShare": number
}
Campos
measurementTime

string (Timestamp format)

Apenas saída. A hora em que essa distribuição foi medida.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

marketShare

number

Apenas saída. A fração estimada (0-1) do mercado total com essa configuração.

AndroidRuntimeConfiguration

Configuração do Android que pode ser selecionada no momento em que um teste é executado.

Representação JSON
{
  "locales": [
    {
      object (Locale)
    }
  ],
  "orientations": [
    {
      object (Orientation)
    }
  ]
}
Campos
locales[]

object (Locale)

O conjunto de localidades disponíveis.

orientations[]

object (Orientation)

O conjunto de orientações disponíveis.

Locale

Uma designação de localização/região para o idioma.

Representação JSON
{
  "id": string,
  "name": string,
  "region": string,
  "tags": [
    string
  ]
}
Campos
id

string

O código para esta localidade. Exemplo: "en-US".

name

string

Um nome para este idioma/localidade. Exemplo: "Inglês".

region

string

Uma string legível por humanos representando a região para essa localidade. Exemplo: "Estados Unidos". Não está presente em todas as localidades.

tags[]

string

Tags para esta dimensão. Exemplo: "padrão".

Orientation

Orientação da tela do dispositivo.

Representação JSON
{
  "id": string,
  "name": string,
  "tags": [
    string
  ]
}
Campos
id

string

O código para essa orientação. Exemplo: "retrato".

name

string

Um nome legível para essa orientação. Exemplo: "retrato".

tags[]

string

Tags para esta dimensão. Exemplo: "padrão".

IosDeviceCatalog

Os dispositivos iOS compatíveis no momento.

Representação JSON
{
  "models": [
    {
      object (IosModel)
    }
  ],
  "versions": [
    {
      object (IosVersion)
    }
  ],
  "xcodeVersions": [
    {
      object (XcodeVersion)
    }
  ],
  "runtimeConfiguration": {
    object (IosRuntimeConfiguration)
  }
}
Campos
models[]

object (IosModel)

O conjunto de modelos de dispositivos iOS compatíveis.

versions[]

object (IosVersion)

O conjunto de versões de software iOS compatíveis.

xcodeVersions[]

object (XcodeVersion)

O conjunto de versões do Xcode compatíveis.

runtimeConfiguration

object (IosRuntimeConfiguration)

O conjunto de configurações de tempo de execução compatíveis.

IosModel

É possível executar uma descrição dos testes de dispositivos iOS.

Representação JSON
{
  "id": string,
  "name": string,
  "supportedVersionIds": [
    string
  ],
  "tags": [
    string
  ],
  "deviceCapabilities": [
    string
  ],
  "screenX": integer,
  "screenY": integer,
  "screenDensity": integer,
  "formFactor": enum (DeviceFormFactor),
  "perVersionInfo": [
    {
      object (PerIosVersionInfo)
    }
  ]
}
Campos
id

string

O código exclusivo e opaco deste modelo. Use-o para chamar o TestExecutionService.

name

string

O nome legível por humanos para este modelo de dispositivo. Exemplos: "iPhone 4s", "iPad Mini 2".

supportedVersionIds[]

string

O conjunto de versões do iOS que este dispositivo aceita.

tags[]

string

Tags para esta dimensão. Exemplos: "default", "preview", "deprecated".

deviceCapabilities[]

string

Recursos do dispositivo. Copiado de https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html

screenX

integer

Tamanho da tela na dimensão horizontal (X) medida em pixels.

screenY

integer

Tamanho da tela na dimensão vertical (Y) medida em pixels.

screenDensity

integer

Densidade da tela em DPI.

formFactor

enum (DeviceFormFactor)

Se este dispositivo é um smartphone, tablet, wearable etc.

perVersionInfo[]

object (PerIosVersionInfo)

Informações específicas da versão de um modelo iOS.

PerIosVersionInfo

Informações específicas da versão de um modelo iOS.

Representação JSON
{
  "versionId": string,
  "deviceCapacity": enum (DeviceCapacity)
}
Campos
versionId

string

Uma versão do iOS.

deviceCapacity

enum (DeviceCapacity)

O número de dispositivos on-line de uma versão do iOS.

IosVersion

Uma versão do iOS.

Representação JSON
{
  "id": string,
  "majorVersion": integer,
  "minorVersion": integer,
  "tags": [
    string
  ],
  "supportedXcodeVersionIds": [
    string
  ]
}
Campos
id

string

Um código opaco para esta versão do iOS. Use-o para invocar o TestExecutionService.

majorVersion

integer

Um número inteiro representando a versão principal do iOS. Exemplos: "8", "9".

minorVersion

integer

Um número inteiro representando a versão secundária do iOS. Exemplo: "1", "2".

tags[]

string

Tags para esta dimensão. Exemplos: "default", "preview", "deprecated".

supportedXcodeVersionIds[]

string

As versões disponíveis do Xcode para esta versão.

XcodeVersion

Uma versão do Xcode com a qual uma versão do iOS é compatível.

Representação JSON
{
  "version": string,
  "tags": [
    string
  ]
}
Campos
version

string

O código para esta versão. Exemplos: "9.2".

tags[]

string

Tags para esta versão do Xcode. Exemplo: "padrão".

IosRuntimeConfiguration

Configuração do iOS que pode ser selecionada no momento em que um teste é executado.

Representação JSON
{
  "locales": [
    {
      object (Locale)
    }
  ],
  "orientations": [
    {
      object (Orientation)
    }
  ]
}
Campos
locales[]

object (Locale)

O conjunto de localidades disponíveis.

orientations[]

object (Orientation)

O conjunto de orientações disponíveis.

NetworkConfigurationCatalog

Representação JSON
{
  "configurations": [
    {
      object (NetworkConfiguration)
    }
  ]
}
Campos
configurations[]

object (NetworkConfiguration)

NetworkConfiguration

Representação JSON
{
  "id": string,
  "upRule": {
    object (TrafficRule)
  },
  "downRule": {
    object (TrafficRule)
  }
}
Campos
id

string

O código exclusivo e opaco para essa configuração de tráfego de rede.

upRule

object (TrafficRule)

A regra de emulação aplicada ao tráfego de upload.

downRule

object (TrafficRule)

A regra de emulação aplicada ao tráfego de download.

TrafficRule

Parâmetros de emulação de rede.

Representação JSON
{
  "delay": string,
  "packetLossRatio": number,
  "packetDuplicationRatio": number,
  "bandwidth": number,
  "burst": number
}
Campos
delay

string (Duration format)

O atraso do pacote. Precisa ser maior que 0.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

packetLossRatio

number

Razão de perda de pacotes (0,0 - 1,0).

packetDuplicationRatio

number

Taxa de duplicação de pacotes (0,0 - 1,0).

bandwidth

number

Largura de banda em kbits/segundo.

burst

number

Tamanho de ruptura em kbits.

ProvidedSoftwareCatalog

O ambiente de software atualmente fornecido nos dispositivos em teste.

Representação JSON
{
  "orchestratorVersion": string,
  "androidxOrchestratorVersion": string
}
Campos
orchestratorVersion
(deprecated)

string

Obsoleto: use o AndroidX Test Orchestrator.

Uma string que representa a versão atual do Android Test Orchestrator usada no ambiente. O pacote está disponível em https://maven.google.com/web/index.html#com.android.support.test:orchestrator.

androidxOrchestratorVersion

string

Uma string que representa a versão atual do AndroidX Test Orchestrator usada no ambiente. O pacote está disponível em https://maven.google.com/web/index.html#androidx.test:orchestrator.

DeviceIpBlockCatalog

Lista de blocos de IP usados pelo Firebase Test Lab

Representação JSON
{
  "ipBlocks": [
    {
      object (DeviceIpBlock)
    }
  ]
}
Campos
ipBlocks[]

object (DeviceIpBlock)

Os blocos de IP do dispositivo usados pelo Firebase Test Lab

Bloco de IPs do dispositivo

Um bloco de IP de dispositivo único

Representação JSON
{
  "block": string,
  "form": enum (DeviceForm),
  "addedDate": {
    object (Date)
  }
}
Campos
block

string

Um bloco de endereço IP na notação CIDR, por exemplo: 34.68.194.64/29

form

enum (DeviceForm)

Se esse bloco é usado por dispositivos físicos ou virtuais

addedDate

object (Date)

A data em que este bloco foi adicionado ao Firebase Test Lab

Métodos

get

Tem acesso ao catálogo de ambientes de teste compatíveis.