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 um dos seguintes:
androidDeviceCatalog

object ( AndroidDeviceCatalog )

Dispositivos Android suportados.

iosDeviceCatalog

object ( IosDeviceCatalog )

Dispositivos iOS suportados.

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 IP usados ​​pelos dispositivos no ambiente de teste.

Catálogo de dispositivos Android

Os dispositivos Android atualmente suportados.

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 suportadas.

Modelo Android

Uma descrição dos testes de um dispositivo 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 ID opaco exclusivo para este modelo. Use isto para invocar o TestExecutionService.

name

string

O nome comercial legível para este modelo de dispositivo. Exemplos: "Nexus 5", "Galaxy S5".

manufacturer

string

O fabricante deste dispositivo.

brand

string

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

codename

string

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

form

enum ( DeviceForm )

Quer este dispositivo seja virtual ou físico.

formFactor

enum ( DeviceFormFactor )

Quer este dispositivo seja um telefone, 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) medido em pixels.

screenY

integer

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

screenDensity

integer

Densidade da tela em DPI. Isso corresponde a ro.sf.lcd_density

lowFpsVideoRecording

boolean

Verdadeiro se e somente se os testes com este modelo forem registrados juntando capturas de tela. Consulte use_low_spec_video_recording na configuração do dispositivo.

supportedVersionIds[]

string

O conjunto de versões do Android compatíveis com este dispositivo.

supportedAbis[]

string

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

Os elementos são opcionalmente prefixados por "versionId:" (onde versionId é o ID de uma AndroidVersion), denotando uma ABI compatível apenas com uma versão específica.

tags[]

string

Tags para esta dimensão. Exemplos: "padrão", "visualização", "obsoleto".

thumbnailUrl

string

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

Formulário de Dispositivo

Se o dispositivo é físico ou virtual.

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

DeviceFormFactor

O fator de forma de um dispositivo.

Enums
DEVICE_FORM_FACTOR_UNSPECIFIED Não use. Apenas para versionamento proto.
PHONE Este dispositivo tem o formato de um telefone.
TABLET Este dispositivo tem o formato de um tablet.
WEARABLE Este dispositivo tem o formato de um relógio ou outro dispositivo vestível.

PerAndroidVersionInfo

Uma informação específica da versão de um modelo Android.

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

string

Uma versão Android.

deviceCapacity

enum ( DeviceCapacity )

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

Capacidade do dispositivo

Capacidade baseada no número de dispositivos online no laboratório.

Importante: a capacidade do dispositivo não reflete diretamente o comprimento da fila num determinado momento. Não leva em consideração o tráfego atual ou o estado dos dispositivos.

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

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

Dispositivos de alta capacidade (o laboratório possui um grande número desses dispositivos).

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

Observe que dispositivos de alta capacidade não garantem tempos de espera curtos devido a vários fatores: 1. Tráfego (quantidade de uso em um determinado momento) 2. 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 selecionar outros tipos de dispositivos semelhantes.

DEVICE_CAPACITY_MEDIUM

Dispositivos de capacidade média (o laboratório possui um número razoável desses dispositivos, embora não tantos quanto os dispositivos de alta capacidade).

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

DEVICE_CAPACITY_LOW

Dispositivos com baixa capacidade (o laboratório possui um pequeno número desses dispositivos).

Esses dispositivos podem ser usados ​​se os usuários precisarem testar neste modelo e versão específicos do dispositivo. Observe que devido à baixa capacidade, os testes podem demorar muito mais para serem concluídos, especialmente se um grande número de testes for invocado de uma só vez. Esses dispositivos não são adequados para fragmentação de teste.

DEVICE_CAPACITY_NONE

Dispositivos que estão completamente desaparecidos do laboratório.

Esses dispositivos estão indisponíveis temporária ou permanentemente e não devem ser solicitados. Se o dispositivo também estiver marcado como obsoleto, esse estado provavelmente será permanente.

Versão Android

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 ID opaco para esta versão do Android. Use este ID para invocar o TestExecutionService.

versionString

string

Uma string que representa 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 codinome desta versão do Android. Exemplos: "JellyBean", "KitKat".

releaseDate

object ( Date )

A data em que esta versão do Android foi disponibilizada no mercado.

distribution

object ( Distribution )

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

tags[]

string

Tags para esta dimensão. Exemplos: "padrão", "visualização", "obsoleto".

Data

Representa uma data de calendário total ou parcial, 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 é relativa ao calendário gregoriano. Isso pode representar um dos seguintes:

  • Uma data completa, com valores de ano, mês e dia diferentes de zero.
  • Um mês e um dia, com ano zero (por exemplo, um aniversário).
  • Um ano sozinho, com mês zero e dia zero.
  • Um ano e um mês, com dia zero (por exemplo, data de validade do cartão de crédito).

Tipos relacionados:

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

integer

Ano da data. Deve ser de 1 a 9999 ou 0 para especificar uma data sem ano.

month

integer

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

day

integer

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

Distribuição

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

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

string ( Timestamp format)

Apenas saída. O tempo 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 esta configuração.

AndroidRuntimeConfiguração

Configuração do Android que pode ser selecionada no momento da execução de um teste.

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.

Localidade

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

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

string

O ID desta localidade. Exemplo: "en_US".

name

string

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

region

string

Uma string amigável que representa a região desta localidade. Exemplo: “Estados Unidos”. Não está presente em todas as localidades.

tags[]

string

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

Orientação

Orientação da tela do dispositivo.

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

string

O ID para esta orientação. Exemplo: "retrato".

name

string

Um nome amigável para esta orientação. Exemplo: "retrato".

tags[]

string

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

Catálogo de dispositivos iOS

Os dispositivos iOS atualmente suportados.

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 suportadas.

xcodeVersions[]

object ( XcodeVersion )

O conjunto de versões do Xcode suportadas.

runtimeConfiguration

object ( IosRuntimeConfiguration )

O conjunto de configurações de tempo de execução suportadas.

Modelo Ios

Uma descrição dos testes de um dispositivo iOS pode ser executada.

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 ID opaco exclusivo para este modelo. Use isto para invocar o TestExecutionService.

name

string

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

supportedVersionIds[]

string

O conjunto de versões principais de software iOS que este dispositivo suporta.

tags[]

string

Tags para esta dimensão. Exemplos: "padrão", "visualização", "obsoleto".

deviceCapabilities[]

string

Capacidades 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) medido em pixels.

screenY

integer

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

screenDensity

integer

Densidade da tela em DPI.

formFactor

enum ( DeviceFormFactor )

Quer este dispositivo seja um telefone, tablet, wearable, etc.

perVersionInfo[]

object ( PerIosVersionInfo )

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

PerIosVersionInfo

Uma informação específica da versão de um modelo iOS.

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

string

Uma versão iOS.

deviceCapacity

enum ( DeviceCapacity )

O número de dispositivos online para uma versão iOS.

Versão iOS

Uma versão iOS.

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

string

Um ID opaco para esta versão do iOS. Use este ID para invocar o TestExecutionService.

majorVersion

integer

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

minorVersion

integer

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

tags[]

string

Tags para esta dimensão. Exemplos: "padrão", "visualização", "obsoleto".

supportedXcodeVersionIds[]

string

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

Versão Xcode

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 ID desta versão. Exemplo: "9.2".

tags[]

string

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

Configuração do IosRuntime

Configuração do iOS que pode ser selecionada no momento da execução de um teste.

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.

Catálogo de configuração de rede

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

object ( NetworkConfiguration )

Configuração de rede

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

string

O ID opaco exclusivo para esta 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.

Regra de tráfego

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 deve ser >= 0.

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

packetLossRatio

number

Taxa 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 do burst em kbits.

Catálogo de software fornecido

O ambiente de software fornecido atualmente nos dispositivos em teste.

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

string

Obsoleto: use o AndroidX Test Orchestrator daqui para frente.

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 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

DispositivoIpBlock

Um único bloco IP de dispositivo

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

string

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

form

enum ( DeviceForm )

Se este 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

Obtém o catálogo de ambientes de teste com suporte.