REST Resource: testEnvironmentCatalog

Recurso: TestEnvironmentCatalog

Es la descripción de un entorno de prueba.

Representación 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ón environment_catalog. Solo salida. environment_catalog puede ser solo uno de los siguientes:
androidDeviceCatalog

object (AndroidDeviceCatalog)

Son los dispositivos Android compatibles.

iosDeviceCatalog

object (IosDeviceCatalog)

Son los dispositivos iOS compatibles.

networkConfigurationCatalog

object (NetworkConfigurationCatalog)

Son las configuraciones de red compatibles.

softwareCatalog

object (ProvidedSoftwareCatalog)

Es el entorno de prueba del software que TestExecutionService proporciona.

deviceIpBlockCatalog

object (DeviceIpBlockCatalog)

Los bloques de IP que usan los dispositivos en el entorno de pruebas.

AndroidDeviceCatalog

Son los dispositivos Android compatibles en la actualidad.

Representación JSON
{
  "models": [
    {
      object (AndroidModel)
    }
  ],
  "versions": [
    {
      object (AndroidVersion)
    }
  ],
  "runtimeConfiguration": {
    object (AndroidRuntimeConfiguration)
  }
}
Campos
models[]

object (AndroidModel)

Es el conjunto de modelos de dispositivos Android compatibles.

versions[]

object (AndroidVersion)

Es el conjunto de versiones del SO Android compatibles.

runtimeConfiguration

object (AndroidRuntimeConfiguration)

Es el conjunto de configuraciones de tiempo de ejecución compatibles.

AndroidModel

Es una descripción de un dispositivo Android en el que se pueden ejecutar pruebas.

Representación 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

Es el ID opaco único de este modelo. Puedes usarlo para invocar el recurso TestExecutionService.

name

string

Es el nombre comercial legible del modelo de este dispositivo. Ejemplos: “Nexus 5” o “Galaxy S5”.

manufacturer

string

Es el fabricante de este dispositivo.

brand

string

Es la empresa de la marca de este dispositivo. Ejemplos: “Google” o “Samsung”.

codename

string

Es el nombre del diseño industrial. Corresponde a android.os.Build.DEVICE.

form

enum (DeviceForm)

Indica si este dispositivo es virtual o físico.

formFactor

enum (DeviceFormFactor)

Indica si este dispositivo es un teléfono, una tablet, un dispositivo wearable, etcétera.

perVersionInfo[]

object (PerAndroidVersionInfo)

Información específica de la versión de un modelo de Android.

screenX

integer

Es el tamaño de la pantalla en dimensión horizontal (X) medida en píxeles.

screenY

integer

Es el tamaño de la pantalla en dimensión vertical (Y) medida en píxeles.

screenDensity

integer

Es la densidad de la pantalla en DPI y corresponde a ro.sf.lcd_density

lowFpsVideoRecording

boolean

El valor es verdadero solo si se unieron las capturas de pantalla para registrar las pruebas en este modelo. Consulta use_low_spec_video_recording en la Configuración del dispositivo.

supportedVersionIds[]

string

Es el conjunto de versiones de Android compatibles con este dispositivo.

supportedAbis[]

string

Es la lista de ABI compatibles con este dispositivo. Esto corresponde a android.os.Build.SUPPORTED_ABIS (para el nivel de API 21 y versiones posteriores) o android.os.Build.CPU_ABI/CPU_ABI2. La ABI preferida es el primer elemento en la lista.

De manera opcional, los elementos pueden contener el prefijo “versionId:” (donde versionId es el ID de una AndroidVersion), lo que indica una ABI que solo es compatible con una versión determinada.

tags[]

string

Son las etiquetas de esta dimensión. Ejemplos: “predeterminado”, “vista previa” o “no disponible”.

thumbnailUrl

string

URL de una imagen en miniatura (foto) del dispositivo.

DeviceForm

Indica si el dispositivo es físico o virtual.

Enumeraciones
DEVICE_FORM_UNSPECIFIED No se debe usar. Solo puedes hacerlo en el control de versiones proto.
VIRTUAL Dispositivo virtual de Android que usa la virtualización nativa de Compute Engine. Solo para Firebase Test Lab.
PHYSICAL Es el hardware real.
EMULATOR Dispositivo virtual de Android que usa un emulador en virtualización anidada. Equivalente a Android Studio.

DeviceFormFactor

Indica el factor de forma de un dispositivo.

Enums
DEVICE_FORM_FACTOR_UNSPECIFIED No se debe usar. Solo puedes hacerlo en el control de versiones proto.
PHONE Este dispositivo tiene la forma de un teléfono.
TABLET Este dispositivo tiene la forma de una tablet.
WEARABLE Este dispositivo tiene la forma de un reloj o de un wearable.

Información de la versióndeAndroid

Es la información específica de la versión de un modelo de Android.

Representación JSON
{
  "versionId": string,
  "deviceCapacity": enum (DeviceCapacity),
  "interactiveDeviceAvailabilityEstimate": string,
  "directAccessVersionInfo": {
    object (DirectAccessVersionInfo)
  }
}
Campos
versionId

string

Una versión de Android

deviceCapacity

enum (DeviceCapacity)

Indica la cantidad de dispositivos en línea de una versión de Android.

interactiveDeviceAvailabilityEstimate

string (Duration format)

Solo salida. El tiempo de espera estimado para una única sesión interactiva de un dispositivo con Acceso directo.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

directAccessVersionInfo

object (DirectAccessVersionInfo)

Solo salida. Identifica los clientes compatibles con DirectAccess para esta versión de Android.

Capacidad del dispositivo

La capacidad se basa en la cantidad de dispositivos en línea del lab.

Importante: La capacidad del dispositivo no refleja directamente la longitud de la fila en un momento determinado. No considera el tráfico actual ni el estado de los dispositivos.

En el caso de los dispositivos físicos, la cantidad corresponde al promedio de dispositivos en línea de los últimos 30 días.

Enums
DEVICE_CAPACITY_UNSPECIFIED Se desconoce o no se establece el valor de la capacidad del dispositivo.
DEVICE_CAPACITY_HIGH

Dispositivos con alta capacidad (el lab tiene una gran cantidad de estos dispositivos)

Generalmente, estos dispositivos se sugieren para ejecutar una gran cantidad de pruebas simultáneas (p.ej., más de 100).

Ten en cuenta que los dispositivos de alta capacidad no garantizan tiempos de espera cortos debido a varios factores: 1. Tráfico (la intensidad con la que se usan en un momento determinado) 2. Los dispositivos de alta capacidad se priorizan para ciertos usos, lo que puede causar que las pruebas de los usuarios sean más lentas que la selección de otros tipos de dispositivos similares.

DEVICE_CAPACITY_MEDIUM

Dispositivos con capacidad media (el lab tiene una cantidad aceptable de estos dispositivos, pero no tantos como los de alta capacidad)

Estos dispositivos son adecuados para menos ejecuciones de pruebas (p.ej., menos de 100) y solo para recuentos de fragmentos bajos (p.ej., menos de 10).

DEVICE_CAPACITY_LOW

Dispositivos con poca capacidad (el lab tiene una pequeña cantidad de estos dispositivos)

Estos dispositivos se pueden usar si los usuarios necesitan realizar pruebas en este modelo y versión de dispositivo específicos. Ten en cuenta que, debido a la baja capacidad, las pruebas pueden tardar mucho más en completarse, especialmente si se invoca una gran cantidad de pruebas a la vez. Estos dispositivos no son adecuados para la fragmentación de pruebas.

DEVICE_CAPACITY_NONE

Dispositivos que faltan por completo en el lab.

Estos dispositivos no están disponibles de manera temporal o permanente y no se deben solicitar. Si el dispositivo también se marca como obsoleto, es muy probable que este estado sea permanente.

InformaciónDeAccesoDirecta

Indica si el acceso directo es compatible y con qué versiones de cliente.

En la actualidad, DirectAccessService está disponible como vista previa para desarrolladores seleccionados. Puedes registrarte hoy en nombre de ti y de tu equipo en https://developer.android.com/studio/preview/android-device-streaming

Representación JSON
{
  "directAccessSupported": boolean,
  "minimumAndroidStudioVersion": string
}
Campos
directAccessSupported

boolean

Si se admite o no el acceso directo Se espera que los clientes filtren la lista de dispositivos para mostrar únicamente los modelos y las versiones de Android que admiten el acceso directo cuando ese es el intent del usuario.

minimumAndroidStudioVersion

string

Solo salida. Indica la compatibilidad cliente-dispositivo, en la que se sabe que un dispositivo funciona solo con ciertas soluciones alternativas implementadas en el cliente de Android Studio. Formato esperado "major.minor.micro.patch", p.ej., “5921.22.2211.8881706”.

AndroidVersion

Es la versión del SO Android.

Representación JSON
{
  "id": string,
  "versionString": string,
  "apiLevel": integer,
  "codeName": string,
  "releaseDate": {
    object (Date)
  },
  "distribution": {
    object (Distribution)
  },
  "tags": [
    string
  ]
}
Campos
id

string

Es el ID opaco de esta versión de Android. Puedes usarlo para invocar el TestExecutionService.

versionString

string

Es una string que representa la versión del SO Android. Ejemplos: “4.3” o “4.4”.

apiLevel

integer

Es el nivel de la API de esta versión de Android. Ejemplos: 18 o 19.

codeName

string

Es el nombre código de esta versión de Android. Ejemplos: “JellyBean” o “KitKat”.

releaseDate

object (Date)

Es la fecha en que se lanzó esta versión de Android al mercado.

distribution

object (Distribution)

Es la participación de mercado de esta versión.

tags[]

string

Son las etiquetas de esta dimensión. Ejemplos: “predeterminado”, “vista previa” o “no disponible”.

Fecha

Representa una fecha de calendario completa o parcial, como un cumpleaños. La hora del día y la zona horaria se especifican en otro lugar o son insignificantes. La fecha está relacionada con el calendario gregoriano. Puede representar una de las siguientes opciones:

  • Una fecha completa con valores para el año, mes y día que no sean cero.
  • Un mes y un día, con cero año (por ejemplo, un aniversario).
  • Un año por sí solo, con un mes cero y un día cero.
  • Es un año y un mes, con un día cero (por ejemplo, la fecha de vencimiento de una tarjeta de crédito).

Tipos relacionados:

Representación JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Campos
year

integer

Año de la fecha. Debe ser entre 1 y 9,999, o bien 0 para especificar una fecha sin año.

month

integer

Mes del año. Debe ser del 1 al 12 o 0 para especificar un año sin un mes ni un día.

day

integer

Día del mes. Debe ser entre 1 y 31 y ser válido para el año y el mes o bien 0 para especificar un año solo o un año y un mes en los que el día no sea significativo.

Distribución

Son datos sobre la cantidad relativa de dispositivos que se ejecuta en una configuración determinada de la plataforma de Android.

Representación JSON
{
  "measurementTime": string,
  "marketShare": number
}
Campos
measurementTime

string (Timestamp format)

Solo salida. La fecha y hora en que se midió esta distribución.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

marketShare

number

Solo salida. Es la fracción estimada (de 0 a 1) del mercado total con esta configuración.

AndroidRuntimeConfiguration

Es la configuración de Android que se puede seleccionar cuando se ejecute una prueba.

Representación JSON
{
  "locales": [
    {
      object (Locale)
    }
  ],
  "orientations": [
    {
      object (Orientation)
    }
  ]
}
Campos
locales[]

object (Locale)

Es el conjunto de configuraciones regionales disponibles.

orientations[]

object (Orientation)

Es el conjunto de orientaciones disponibles.

Locale

Es una designación de ubicación/región de un idioma.

Representación JSON
{
  "id": string,
  "name": string,
  "region": string,
  "tags": [
    string
  ]
}
Campos
id

string

Es el ID de esta configuración regional. Ejemplo: “en_US”.

name

string

Un nombre sencillo para este idioma/configuración regional. Ejemplo: “inglés”.

region

string

Una string sencilla que describe la región de esta configuración regional. Ejemplo: “Estados Unidos”. Es posible que no esté presente en cada configuración regional.

tags[]

string

Son las etiquetas de esta dimensión. Ejemplo: “predeterminado”.

Orientation

Es la orientación de la pantalla del dispositivo.

Representación JSON
{
  "id": string,
  "name": string,
  "tags": [
    string
  ]
}
Campos
id

string

Es el ID de esta orientación. Ejemplo: “vertical”.

name

string

Es un nombre sencillo para esta orientación. Ejemplo: “vertical”.

tags[]

string

Son las etiquetas de esta dimensión. Ejemplo: “predeterminado”.

IosDeviceCatalog

Son los dispositivos iOS que se admiten en la actualidad.

Representación JSON
{
  "models": [
    {
      object (IosModel)
    }
  ],
  "versions": [
    {
      object (IosVersion)
    }
  ],
  "xcodeVersions": [
    {
      object (XcodeVersion)
    }
  ],
  "runtimeConfiguration": {
    object (IosRuntimeConfiguration)
  }
}
Campos
models[]

object (IosModel)

Es el conjunto de modelos de dispositivos iOS compatibles.

versions[]

object (IosVersion)

Es el conjunto de versiones del software de iOS compatibles.

xcodeVersions[]

object (XcodeVersion)

Es el conjunto de versiones de Xcode compatibles.

runtimeConfiguration

object (IosRuntimeConfiguration)

Es el conjunto de configuraciones de tiempo de ejecución compatibles.

IosModel

Es una descripción de un dispositivo iOS en el que se pueden ejecutar pruebas.

Representación 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

Es el ID opaco único de este modelo. Puedes usarlo para invocar el recurso TestExecutionService.

name

string

Es el nombre legible del modelo de este dispositivo. Ejemplos: “iPhone 4s” o “iPad Mini 2”.

supportedVersionIds[]

string

Es el conjunto de las versiones de software principales de iOS compatibles con este dispositivo.

tags[]

string

Son las etiquetas de esta dimensión. Ejemplos: “predeterminado”, “vista previa” o “no disponible”.

deviceCapabilities[]

string

Funciones del dispositivo. Copia de https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html

screenX

integer

Es el tamaño de la pantalla en dimensión horizontal (X) medida en píxeles.

screenY

integer

Es el tamaño de la pantalla en dimensión vertical (Y) medida en píxeles.

screenDensity

integer

Es la densidad de la pantalla en DPI.

formFactor

enum (DeviceFormFactor)

Indica si este dispositivo es un teléfono, una tablet, un dispositivo wearable, etcétera.

perVersionInfo[]

object (PerIosVersionInfo)

Información específica de la versión de un modelo de iOS

Información de versión PerIos

Es la información específica de la versión de un modelo de iOS.

Representación JSON
{
  "versionId": string,
  "deviceCapacity": enum (DeviceCapacity)
}
Campos
versionId

string

Es una versión de iOS.

deviceCapacity

enum (DeviceCapacity)

Es la cantidad de dispositivos en línea de una versión de iOS.

IosVersion

Es una versión de iOS.

Representación JSON
{
  "id": string,
  "majorVersion": integer,
  "minorVersion": integer,
  "tags": [
    string
  ],
  "supportedXcodeVersionIds": [
    string
  ]
}
Campos
id

string

Es el ID opaco de esta versión de iOS. Puedes usarlo para invocar el TestExecutionService.

majorVersion

integer

Es un número entero que representa la versión principal de iOS. Ejemplos: “8” o “9”.

minorVersion

integer

Es un número entero que representa la versión secundaria de iOS. Ejemplos: “1” o “2”.

tags[]

string

Son las etiquetas de esta dimensión. Ejemplos: “predeterminado”, “vista previa” o “no disponible”.

supportedXcodeVersionIds[]

string

Son las versiones de Xcode disponibles para esta versión.

XcodeVersion

Es una versión de Xcode que es compatible con una de iOS.

Representación JSON
{
  "version": string,
  "tags": [
    string
  ]
}
Campos
version

string

Es el ID de esta versión. Ejemplo: “9.2”.

tags[]

string

Son las etiquetas de esta versión de Xcode. Ejemplo: “predeterminado”.

IosRuntimeConfiguration

Es la configuración de iOS que se puede seleccionar cuando se ejecute una prueba.

Representación JSON
{
  "locales": [
    {
      object (Locale)
    }
  ],
  "orientations": [
    {
      object (Orientation)
    }
  ]
}
Campos
locales[]

object (Locale)

Es el conjunto de configuraciones regionales disponibles.

orientations[]

object (Orientation)

Es el conjunto de orientaciones disponibles.

NetworkConfigurationCatalog

Representación JSON
{
  "configurations": [
    {
      object (NetworkConfiguration)
    }
  ]
}
Campos
configurations[]

object (NetworkConfiguration)

NetworkConfiguration

Representación JSON
{
  "id": string,
  "upRule": {
    object (TrafficRule)
  },
  "downRule": {
    object (TrafficRule)
  }
}
Campos
id

string

Es el ID opaco único de esta configuración de tráfico de red.

upRule

object (TrafficRule)

Es la regla de emulación que se aplica al tráfico de carga.

downRule

object (TrafficRule)

Es la regla de emulación que se aplica al tráfico de descarga.

TrafficRule

Son los parámetros de emulación de red.

Representación JSON
{
  "delay": string,
  "packetLossRatio": number,
  "packetDuplicationRatio": number,
  "bandwidth": number,
  "burst": number
}
Campos
delay

string (Duration format)

Es la demora del paquete y debe ser >= 0.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

packetLossRatio

number

Es la proporción de pérdida del paquete (0.0 - 1.0).

packetDuplicationRatio

number

Es la proporción de duplicación del paquete (0.0 - 1.0).

bandwidth

number

Es el ancho de banda en kbits/s.

burst

number

Es el tamaño del pico de actividad en kbits.

ProvidedSoftwareCatalog

Es el entorno actual del software proporcionado en los dispositivos a prueba.

Representación JSON
{
  "orchestratorVersion": string,
  "androidxOrchestratorVersion": string
}
Campos
orchestratorVersion
(deprecated)

string

Obsoleto: Usa AndroidX Test Orchestrator a partir de ahora.

Una cadena que representa la versión actual de Android Test Orchestrator que se usa en el entorno. El paquete está disponible en https://maven.google.com/web/index.html#com.android.support.test:orchestrator.

androidxOrchestratorVersion

string

Es una cadena que representa la versión actual de AndroidX Test Orchestrator que se usa en el entorno. El paquete está disponible en https://maven.google.com/web/index.html#androidx.test:orchestrator.

Catálogo de dispositivosIpBlock

Lista de bloques de IP que usa Firebase Test Lab

Representación JSON
{
  "ipBlocks": [
    {
      object (DeviceIpBlock)
    }
  ]
}
Campos
ipBlocks[]

object (DeviceIpBlock)

Los bloques de IP del dispositivo que usa Firebase Test Lab

Bloque de IP del dispositivo

Un solo bloque de IP de dispositivo

Representación JSON
{
  "block": string,
  "form": enum (DeviceForm),
  "addedDate": {
    object (Date)
  }
}
Campos
block

string

Un bloque de dirección IP en notación CIDR, p. ej., 34.68.194.64/29

form

enum (DeviceForm)

Si este bloque lo usan dispositivos físicos o virtuales

addedDate

object (Date)

La fecha en la que se agregó este bloque a Firebase Test Lab

Métodos

get

Permite obtener el catálogo de los entornos de prueba compatibles.