- Resource: TestEnvironmentCatalog
- AndroidDeviceCatalog
- AndroidModel
- DeviceForm
- DeviceFormFactor
- PerAndroidVersionInfo
- DeviceCapacity
- DirectAccessVersionInfo
- AndroidVersion
- Date
- Distribution
- AndroidRuntimeConfiguration
- Locale
- Orientation
- IosDeviceCatalog
- IosModel
- PerIosVersionInfo
- IosVersion
- XcodeVersion
- IosRuntimeConfiguration
- NetworkConfigurationCatalog
- NetworkConfiguration
- TrafficRule
- ProvidedSoftwareCatalog
- DeviceIpBlockCatalog
- DeviceIpBlock
- Methods
Resource: TestEnvironmentCatalog
A description of a test environment.
JSON representation |
---|
{ // Union field |
Fields | |
---|---|
Union field environment_catalog . Output only. environment_catalog can be only one of the following: |
|
androidDeviceCatalog |
Supported Android devices. |
iosDeviceCatalog |
Supported iOS devices. |
networkConfigurationCatalog |
Supported network configurations. |
softwareCatalog |
The software test environment provided by TestExecutionService. |
deviceIpBlockCatalog |
The IP blocks used by devices in the test environment. |
AndroidDeviceCatalog
The currently supported Android devices.
JSON representation |
---|
{ "models": [ { object ( |
Fields | |
---|---|
models[] |
The set of supported Android device models. |
versions[] |
The set of supported Android OS versions. |
runtimeConfiguration |
The set of supported runtime configurations. |
AndroidModel
A description of an Android device tests may be run on.
JSON representation |
---|
{ "id": string, "name": string, "manufacturer": string, "brand": string, "codename": string, "form": enum ( |
Fields | |
---|---|
id |
The unique opaque id for this model. Use this for invoking the TestExecutionService. |
name |
The human-readable marketing name for this device model. Examples: "Nexus 5", "Galaxy S5". |
manufacturer |
The manufacturer of this device. |
brand |
The company that this device is branded with. Example: "Google", "Samsung". |
codename |
The name of the industrial design. This corresponds to android.os.Build.DEVICE. |
form |
Whether this device is virtual or physical. |
formFactor |
Whether this device is a phone, tablet, wearable, etc. |
perVersionInfo[] |
Version-specific information of an Android model. |
screenX |
Screen size in the horizontal (X) dimension measured in pixels. |
screenY |
Screen size in the vertical (Y) dimension measured in pixels. |
screenDensity |
Screen density in DPI. This corresponds to ro.sf.lcd_density |
lowFpsVideoRecording |
True if and only if tests with this model are recorded by stitching together screenshots. See use_low_spec_video_recording in device config. |
supportedVersionIds[] |
The set of Android versions this device supports. |
supportedAbis[] |
The list of supported ABIs for this device. This corresponds to either android.os.Build.SUPPORTED_ABIS (for API level 21 and above) or android.os.Build.CPU_ABI/CPU_ABI2. The most preferred ABI is the first element in the list. Elements are optionally prefixed by "versionId:" (where versionId is the id of an AndroidVersion), denoting an ABI that is supported only on a particular version. |
tags[] |
Tags for this dimension. Examples: "default", "preview", "deprecated". |
thumbnailUrl |
URL of a thumbnail image (photo) of the device. |
DeviceForm
Whether the device is physical or virtual.
Enums | |
---|---|
DEVICE_FORM_UNSPECIFIED |
Do not use. For proto versioning only. |
VIRTUAL |
Android virtual device using Compute Engine native virtualization. Firebase Test Lab only. |
PHYSICAL |
Actual hardware. |
EMULATOR |
Android virtual device using emulator in nested virtualization. Equivalent to Android Studio. |
DeviceFormFactor
The form factor of a device.
Enums | |
---|---|
DEVICE_FORM_FACTOR_UNSPECIFIED |
Do not use. For proto versioning only. |
PHONE |
This device has the shape of a phone. |
TABLET |
This device has the shape of a tablet. |
WEARABLE |
This device has the shape of a watch or other wearable. |
PerAndroidVersionInfo
A version-specific information of an Android model.
JSON representation |
---|
{ "versionId": string, "deviceCapacity": enum ( |
Fields | |
---|---|
versionId |
An Android version. |
deviceCapacity |
The number of online devices for an Android version. |
interactiveDeviceAvailabilityEstimate |
Output only. The estimated wait time for a single interactive device session using Direct Access. A duration in seconds with up to nine fractional digits, ending with ' |
directAccessVersionInfo |
Output only. Identifies supported clients for DirectAccess for this Android version. |
DeviceCapacity
Capacity based on the number of online devices in the lab.
Important: device capacity does not directly reflect the length of the queue at a moment in time. It does not take into account current traffic or the state of the devices.
For physical devices, the number is the average of online devices in the last 30 days.
Enums | |
---|---|
DEVICE_CAPACITY_UNSPECIFIED |
The value of device capacity is unknown or unset. |
DEVICE_CAPACITY_HIGH |
Devices that are high in capacity (The lab has a large number of these devices). These devices are generally suggested for running a large number of simultaneous tests (e.g. more than 100 tests). Please note that high capacity devices do not guarantee short wait times due to several factors: 1. Traffic (how heavily they are used at any given moment) 2. High capacity devices are prioritized for certain usages, which may cause user tests to be slower than selecting other similar device types. |
DEVICE_CAPACITY_MEDIUM |
Devices that are medium in capacity (The lab has a decent number of these devices, though not as many as high capacity devices). These devices are suitable for fewer test runs (e.g. fewer than 100 tests) and only for low shard counts (e.g. less than 10 shards). |
DEVICE_CAPACITY_LOW |
Devices that are low in capacity (The lab has a small number of these devices). These devices may be used if users need to test on this specific device model and version. Please note that due to low capacity, the tests may take much longer to finish, especially if a large number of tests are invoked at once. These devices are not suitable for test sharding. |
DEVICE_CAPACITY_NONE |
Devices that are completely missing from the lab. These devices are unavailable either temporarily or permanently and should not be requested. If the device is also marked as deprecated, this state is very likely permanent. |
DirectAccessVersionInfo
Denotes whether Direct Access is supported, and by which client versions.
DirectAccessService is currently available as a preview to select developers. You can register today on behalf of you and your team at https://developer.android.com/studio/preview/android-device-streaming
JSON representation |
---|
{ "directAccessSupported": boolean, "minimumAndroidStudioVersion": string } |
Fields | |
---|---|
directAccessSupported |
Whether direct access is supported at all. Clients are expected to filter down the device list to only android models and versions which support Direct Access when that is the user intent. |
minimumAndroidStudioVersion |
Output only. Indicates client-device compatibility, where a device is known to work only with certain workarounds implemented in the Android Studio client. Expected format "major.minor.micro.patch", e.g. "5921.22.2211.8881706". |
AndroidVersion
A version of the Android OS.
JSON representation |
---|
{ "id": string, "versionString": string, "apiLevel": integer, "codeName": string, "releaseDate": { object ( |
Fields | |
---|---|
id |
An opaque id for this Android version. Use this id to invoke the TestExecutionService. |
versionString |
A string representing this version of the Android OS. Examples: "4.3", "4.4". |
apiLevel |
The API level for this Android version. Examples: 18, 19. |
codeName |
The code name for this Android version. Examples: "JellyBean", "KitKat". |
releaseDate |
The date this Android version became available in the market. |
distribution |
Market share for this version. |
tags[] |
Tags for this dimension. Examples: "default", "preview", "deprecated". |
Date
Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following:
- A full date, with non-zero year, month, and day values.
- A month and day, with a zero year (for example, an anniversary).
- A year on its own, with a zero month and a zero day.
- A year and month, with a zero day (for example, a credit card expiration date).
Related types:
google.type.TimeOfDay
google.type.DateTime
google.protobuf.Timestamp
JSON representation |
---|
{ "year": integer, "month": integer, "day": integer } |
Fields | |
---|---|
year |
Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. |
month |
Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. |
day |
Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. |
Distribution
Data about the relative number of devices running a given configuration of the Android platform.
JSON representation |
---|
{ "measurementTime": string, "marketShare": number } |
Fields | |
---|---|
measurementTime |
Output only. The time this distribution was measured. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
marketShare |
Output only. The estimated fraction (0-1) of the total market with this configuration. |
AndroidRuntimeConfiguration
Android configuration that can be selected at the time a test is run.
JSON representation |
---|
{ "locales": [ { object ( |
Fields | |
---|---|
locales[] |
The set of available locales. |
orientations[] |
The set of available orientations. |
Locale
A location/region designation for language.
JSON representation |
---|
{ "id": string, "name": string, "region": string, "tags": [ string ] } |
Fields | |
---|---|
id |
The id for this locale. Example: "en_US". |
name |
A human-friendly name for this language/locale. Example: "English". |
region |
A human-friendly string representing the region for this locale. Example: "United States". Not present for every locale. |
tags[] |
Tags for this dimension. Example: "default". |
Orientation
Screen orientation of the device.
JSON representation |
---|
{ "id": string, "name": string, "tags": [ string ] } |
Fields | |
---|---|
id |
The id for this orientation. Example: "portrait". |
name |
A human-friendly name for this orientation. Example: "portrait". |
tags[] |
Tags for this dimension. Example: "default". |
IosDeviceCatalog
The currently supported iOS devices.
JSON representation |
---|
{ "models": [ { object ( |
Fields | |
---|---|
models[] |
The set of supported iOS device models. |
versions[] |
The set of supported iOS software versions. |
xcodeVersions[] |
The set of supported Xcode versions. |
runtimeConfiguration |
The set of supported runtime configurations. |
IosModel
A description of an iOS device tests may be run on.
JSON representation |
---|
{ "id": string, "name": string, "supportedVersionIds": [ string ], "tags": [ string ], "deviceCapabilities": [ string ], "screenX": integer, "screenY": integer, "screenDensity": integer, "formFactor": enum ( |
Fields | |
---|---|
id |
The unique opaque id for this model. Use this for invoking the TestExecutionService. |
name |
The human-readable name for this device model. Examples: "iPhone 4s", "iPad Mini 2". |
supportedVersionIds[] |
The set of iOS major software versions this device supports. |
tags[] |
Tags for this dimension. Examples: "default", "preview", "deprecated". |
deviceCapabilities[] |
Device capabilities. Copied from https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html |
screenX |
Screen size in the horizontal (X) dimension measured in pixels. |
screenY |
Screen size in the vertical (Y) dimension measured in pixels. |
screenDensity |
Screen density in DPI. |
formFactor |
Whether this device is a phone, tablet, wearable, etc. |
perVersionInfo[] |
Version-specific information of an iOS model. |
PerIosVersionInfo
A version-specific information of an iOS model.
JSON representation |
---|
{
"versionId": string,
"deviceCapacity": enum ( |
Fields | |
---|---|
versionId |
An iOS version. |
deviceCapacity |
The number of online devices for an iOS version. |
IosVersion
An iOS version.
JSON representation |
---|
{ "id": string, "majorVersion": integer, "minorVersion": integer, "tags": [ string ], "supportedXcodeVersionIds": [ string ] } |
Fields | |
---|---|
id |
An opaque id for this iOS version. Use this id to invoke the TestExecutionService. |
majorVersion |
An integer representing the major iOS version. Examples: "8", "9". |
minorVersion |
An integer representing the minor iOS version. Examples: "1", "2". |
tags[] |
Tags for this dimension. Examples: "default", "preview", "deprecated". |
supportedXcodeVersionIds[] |
The available Xcode versions for this version. |
XcodeVersion
An Xcode version that an iOS version is compatible with.
JSON representation |
---|
{ "version": string, "tags": [ string ] } |
Fields | |
---|---|
version |
The id for this version. Example: "9.2". |
tags[] |
Tags for this Xcode version. Example: "default". |
IosRuntimeConfiguration
iOS configuration that can be selected at the time a test is run.
JSON representation |
---|
{ "locales": [ { object ( |
Fields | |
---|---|
locales[] |
The set of available locales. |
orientations[] |
The set of available orientations. |
NetworkConfigurationCatalog
JSON representation |
---|
{
"configurations": [
{
object ( |
Fields | |
---|---|
configurations[] |
|
NetworkConfiguration
JSON representation |
---|
{ "id": string, "upRule": { object ( |
Fields | |
---|---|
id |
The unique opaque id for this network traffic configuration. |
upRule |
The emulation rule applying to the upload traffic. |
downRule |
The emulation rule applying to the download traffic. |
TrafficRule
Network emulation parameters.
JSON representation |
---|
{ "delay": string, "packetLossRatio": number, "packetDuplicationRatio": number, "bandwidth": number, "burst": number } |
Fields | |
---|---|
delay |
Packet delay, must be >= 0. A duration in seconds with up to nine fractional digits, ending with ' |
packetLossRatio |
Packet loss ratio (0.0 - 1.0). |
packetDuplicationRatio |
Packet duplication ratio (0.0 - 1.0). |
bandwidth |
Bandwidth in kbits/second. |
burst |
Burst size in kbits. |
ProvidedSoftwareCatalog
The currently provided software environment on the devices under test.
JSON representation |
---|
{ "orchestratorVersion": string, "androidxOrchestratorVersion": string } |
Fields | |
---|---|
orchestratorVersion |
Deprecated: Use AndroidX Test Orchestrator going forward. A string representing the current version of Android Test Orchestrator that is used in the environment. The package is available at https://maven.google.com/web/index.html#com.android.support.test:orchestrator. |
androidxOrchestratorVersion |
A string representing the current version of AndroidX Test Orchestrator that is used in the environment. The package is available at https://maven.google.com/web/index.html#androidx.test:orchestrator. |
DeviceIpBlockCatalog
List of IP blocks used by the Firebase Test Lab
JSON representation |
---|
{
"ipBlocks": [
{
object ( |
Fields | |
---|---|
ipBlocks[] |
The device IP blocks used by Firebase Test Lab |
DeviceIpBlock
A single device IP block
JSON representation |
---|
{ "block": string, "form": enum ( |
Fields | |
---|---|
block |
An IP address block in CIDR notation eg: 34.68.194.64/29 |
form |
Whether this block is used by physical or virtual devices |
addedDate |
The date this block was added to Firebase Test Lab |
Methods |
|
---|---|
|
Gets the catalog of supported test environments. |