REST Resource: testEnvironmentCatalog

资源:测试环境目录

测试环境的描述。

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.
}
领域
联合字段environment_catalog 。仅输出。 environment_catalog只能是以下之一:
androidDeviceCatalog

object ( AndroidDeviceCatalog )

支持的 Android 设备。

iosDeviceCatalog

object ( IosDeviceCatalog )

支持的 iOS 设备。

networkConfigurationCatalog

object ( NetworkConfigurationCatalog )

支持的网络配置。

softwareCatalog

object ( ProvidedSoftwareCatalog )

TestExecutionService提供的软件测试环境。

deviceIpBlockCatalog

object ( DeviceIpBlockCatalog )

测试环境中设备使用的 IP 块。

Android设备目录

目前支持的Android设备。

JSON 表示
{
  "models": [
    {
      object (AndroidModel)
    }
  ],
  "versions": [
    {
      object (AndroidVersion)
    }
  ],
  "runtimeConfiguration": {
    object (AndroidRuntimeConfiguration)
  }
}
领域
models[]

object ( AndroidModel )

支持的 Android 设备型号集。

versions[]

object ( AndroidVersion )

支持的 Android 操作系统版本集。

runtimeConfiguration

object ( AndroidRuntimeConfiguration )

支持的运行时配置集。

Android模型

可以运行测试的 Android 设备的描述。

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
}
领域
id

string

该模型的唯一不透明 ID。使用它来调用 TestExecutionService。

name

string

该设备型号的人类可读的营销名称。示例:“Nexus 5”、“Galaxy S5”。

manufacturer

string

该设备的制造商。

brand

string

该设备的品牌公司。示例:“谷歌”、“三星”。

codename

string

工业品外观设计的名称。这对应于 android.os.Build.DEVICE。

form

enum ( DeviceForm )

该设备是虚拟的还是物理的。

formFactor

enum ( DeviceFormFactor )

该设备是否是手机、平板电脑、可穿戴设备等。

perVersionInfo[]

object ( PerAndroidVersionInfo )

Android 型号的版本特定信息。

screenX

integer

水平 (X) 维度的屏幕尺寸(以像素为单位)。

screenY

integer

垂直 (Y) 维度的屏幕尺寸(以像素为单位)。

screenDensity

integer

屏幕密度(DPI)。这对应于 ro.sf.lcd_密度

lowFpsVideoRecording

boolean

当且仅当通过将屏幕截图拼接在一起来记录此模型的测试时,才为真。请参阅设备配置中的 use_low_spec_video_recording。

supportedVersionIds[]

string

该设备支持的 Android 版本集。

supportedAbis[]

string

该设备支持的 ABI 列表。这对应于 android.os.Build.SUPPORTED_ABIS(对于 API 级别 21 及以上)或 android.os.Build.CPU_ABI/CPU_ABI2。最优选的 ABI 是列表中的第一个元素。

元素可以选择添加“versionId:”前缀(其中 versionId 是 AndroidVersion 的 id),表示仅在特定版本上支持的 ABI。

tags[]

string

该维度的标签。示例:“默认”、“预览”、“已弃用”。

thumbnailUrl

string

设备缩略图(照片)的 URL。

设备表单

该设备是物理的还是虚拟的。

枚举
DEVICE_FORM_UNSPECIFIED不使用。仅适用于原型版本控制。
VIRTUAL使用 Compute Engine 本机虚拟化的 Android 虚拟设备。仅限 Firebase 测试实验室。
PHYSICAL实际硬件。
EMULATOR Android 虚拟设备在嵌套虚拟化中使用模拟器。相当于Android Studio。

设备外形尺寸

设备的外形尺寸。

枚举
DEVICE_FORM_FACTOR_UNSPECIFIED不使用。仅适用于原型版本控制。
PHONE该设备具有电话的形状。
TABLET该设备具有平板电脑的形状。
WEARABLE该设备具有手表或其他可穿戴设备的形状。

每个Android版本信息

Android 型号的版本特定信息。

JSON 表示
{
  "versionId": string,
  "deviceCapacity": enum (DeviceCapacity)
}
领域
versionId

string

安卓版本。

deviceCapacity

enum ( DeviceCapacity )

Android版本的在线设备数。

设备容量

容量基于实验室中在线设备的数量。

重要提示:设备容量并不直接反映某一时刻队列的长度。它不考虑当前流量或设备状态。

对于物理设备,该数量是最近 30 天内在线设备的平均值。

枚举
DEVICE_CAPACITY_UNSPECIFIED设备容量的值未知或未设置。
DEVICE_CAPACITY_HIGH

高容量设备(实验室有大量此类设备)。

通常建议使用这些设备来运行大量同时测试(例如超过 100 个测试)。

请注意,由于以下几个因素,高容量设备不能保证较短的等待时间: 1. 流量(在任何给定时刻的使用量) 2. 高容量设备优先用于某些用途,这可能会导致用户测试速度变慢比选择其他类似的设备类型。

DEVICE_CAPACITY_MEDIUM

中等容量的设备(实验室拥有相当数量的此类设备,但数量不如高容量设备)。

这些设备适用于较少的测试运行(例如少于 100 次测试)并且仅适用于低分片数量(例如少于 10 个分片)。

DEVICE_CAPACITY_LOW

容量较低的设备(实验室拥有少量此类设备)。

如果用户需要在该特定设备型号和版本上进行测试,则可以使用这些设备。请注意,由于容量较低,测试可能需要更长的时间才能完成,特别是在一次调用大量测试的情况下。这些设备不适合测试分片。

DEVICE_CAPACITY_NONE

实验室中完全缺失的设备。

这些设备暂时或永久不可用,因此不应请求。如果设备也被标记为已弃用,则此状态很可能是永久性的。

Android版本

Android 操作系统的一个版本。

JSON 表示
{
  "id": string,
  "versionString": string,
  "apiLevel": integer,
  "codeName": string,
  "releaseDate": {
    object (Date)
  },
  "distribution": {
    object (Distribution)
  },
  "tags": [
    string
  ]
}
领域
id

string

此 Android 版本的不透明 ID。使用此 id 调用 TestExecutionService。

versionString

string

表示此 Android 操作系统版本的字符串。示例:“4.3”、“4.4”。

apiLevel

integer

此 Android 版本的 API 级别。示例:18、19。

codeName

string

此 Android 版本的代号。示例:“JellyBean”、“KitKat”。

releaseDate

object ( Date )

此 Android 版本上市的日期。

distribution

object ( Distribution )

该版本的市场份额。

tags[]

string

该维度的标签。示例:“默认”、“预览”、“已弃用”。

日期

表示整个或部分日历日期,例如生日。一天中的时间和时区要么在其他地方指定,要么无关紧要。该日期是相对于公历的。这可以代表以下之一:

  • 完整日期,具有非零年、月和日值。
  • 一个月和一天,年份为零(例如周年纪念日)。
  • 一年本身,有零个月和零日。
  • 年和月,带有零日(例如,信用卡到期日期)。

相关类型:

JSON 表示
{
  "year": integer,
  "month": integer,
  "day": integer
}
领域
year

integer

日期年份。必须介于 1 到 9999 之间,或使用 0 来指定不带年份的日期。

month

integer

一年中的一个月。必须介于 1 到 12 之间,或者使用 0 来指定没有月份和日期的年份。

day

integer

一个月中的一天。必须介于 1 到 31 之间,并且对年份和月份有效,或者使用 0 来单独指定年份,或者指定年份和月份(其中日期不重要)。

分配

有关运行给定 Android 平台配置的设备相对数量的数据。

JSON 表示
{
  "measurementTime": string,
  "marketShare": number
}
领域
measurementTime

string ( Timestamp format)

仅输出。测量该分布的时间。

RFC3339 UTC“Zulu”格式的时间戳,具有纳秒分辨率和最多九个小数位。示例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

marketShare

number

仅输出。具有此配置的总市场的估计比例 (0-1)。

Android运行时配置

可以在运行测试时选择的 Android 配置。

JSON 表示
{
  "locales": [
    {
      object (Locale)
    }
  ],
  "orientations": [
    {
      object (Orientation)
    }
  ]
}
领域
locales[]

object ( Locale )

可用区域设置的集合。

orientations[]

object ( Orientation )

可用方向的集合。

语言环境

语言的位置/区域指定。

JSON 表示
{
  "id": string,
  "name": string,
  "region": string,
  "tags": [
    string
  ]
}
领域
id

string

该区域设置的 ID。示例:“en_US”。

name

string

该语言/区域设置的人类友好名称。例如:“英语”。

region

string

代表该语言环境的区域的人类友好字符串。例如:“美国”。并非每个区域都存在。

tags[]

string

该维度的标签。示例:“默认”。

方向

设备的屏幕方向。

JSON 表示
{
  "id": string,
  "name": string,
  "tags": [
    string
  ]
}
领域
id

string

该方向的 ID。例如:“肖像”。

name

string

此方向的一个人类友好的名称。例如:“肖像”。

tags[]

string

该维度的标签。示例:“默认”。

Ios设备目录

目前支持的 iOS 设备。

JSON 表示
{
  "models": [
    {
      object (IosModel)
    }
  ],
  "versions": [
    {
      object (IosVersion)
    }
  ],
  "xcodeVersions": [
    {
      object (XcodeVersion)
    }
  ],
  "runtimeConfiguration": {
    object (IosRuntimeConfiguration)
  }
}
领域
models[]

object ( IosModel )

支持的 iOS 设备型号集。

versions[]

object ( IosVersion )

支持的 iOS 软件版本集。

xcodeVersions[]

object ( XcodeVersion )

支持的 Xcode 版本集。

runtimeConfiguration

object ( IosRuntimeConfiguration )

支持的运行时配置集。

IOS模型

可以运行测试的 iOS 设备的描述。

JSON 表示
{
  "id": string,
  "name": string,
  "supportedVersionIds": [
    string
  ],
  "tags": [
    string
  ],
  "deviceCapabilities": [
    string
  ],
  "screenX": integer,
  "screenY": integer,
  "screenDensity": integer,
  "formFactor": enum (DeviceFormFactor),
  "perVersionInfo": [
    {
      object (PerIosVersionInfo)
    }
  ]
}
领域
id

string

该模型的唯一不透明 ID。使用它来调用 TestExecutionService。

name

string

该设备型号的人类可读名称。示例:“iPhone 4s”、“iPad Mini 2”。

supportedVersionIds[]

string

该设备支持的 iOS 主要软件版本集。

tags[]

string

该维度的标签。示例:“默认”、“预览”、“已弃用”。

deviceCapabilities[]

string

设备能力。复制自https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html

screenX

integer

水平 (X) 维度的屏幕尺寸(以像素为单位)。

screenY

integer

垂直 (Y) 维度的屏幕尺寸(以像素为单位)。

screenDensity

integer

屏幕密度(DPI)。

formFactor

enum ( DeviceFormFactor )

该设备是否是手机、平板电脑、可穿戴设备等。

perVersionInfo[]

object ( PerIosVersionInfo )

iOS 模型的版本特定信息。

PerIos版本信息

iOS 型号的版本特定信息。

JSON 表示
{
  "versionId": string,
  "deviceCapacity": enum (DeviceCapacity)
}
领域
versionId

string

iOS 版本。

deviceCapacity

enum ( DeviceCapacity )

iOS版本的在线设备数。

Ios版本

iOS 版本。

JSON 表示
{
  "id": string,
  "majorVersion": integer,
  "minorVersion": integer,
  "tags": [
    string
  ],
  "supportedXcodeVersionIds": [
    string
  ]
}
领域
id

string

此 iOS 版本的不透明 ID。使用此 id 调用 TestExecutionService。

majorVersion

integer

代表主要 iOS 版本的整数。示例:“8”、“9”。

minorVersion

integer

表示 iOS 次要版本的整数。示例:“1”、“2”。

tags[]

string

该维度的标签。示例:“默认”、“预览”、“已弃用”。

supportedXcodeVersionIds[]

string

此版本的可用 Xcode 版本。

Xcode版本

iOS 版本兼容的 Xcode 版本。

JSON 表示
{
  "version": string,
  "tags": [
    string
  ]
}
领域
version

string

该版本的 id。示例:“9.2”。

tags[]

string

此 Xcode 版本的标签。示例:“默认”。

Ios运行时配置

可以在运行测试时选择的 iOS 配置。

JSON 表示
{
  "locales": [
    {
      object (Locale)
    }
  ],
  "orientations": [
    {
      object (Orientation)
    }
  ]
}
领域
locales[]

object ( Locale )

可用区域设置的集合。

orientations[]

object ( Orientation )

可用方向的集合。

网络配置目录

JSON 表示
{
  "configurations": [
    {
      object (NetworkConfiguration)
    }
  ]
}
领域
configurations[]

object ( NetworkConfiguration )

网络配置

JSON 表示
{
  "id": string,
  "upRule": {
    object (TrafficRule)
  },
  "downRule": {
    object (TrafficRule)
  }
}
领域
id

string

此网络流量配置的唯一不透明 ID。

upRule

object ( TrafficRule )

适用于上传流量的模拟规则。

downRule

object ( TrafficRule )

适用于下载流量的模拟规则。

交通规则

网络仿真参数。

JSON 表示
{
  "delay": string,
  "packetLossRatio": number,
  "packetDuplicationRatio": number,
  "bandwidth": number,
  "burst": number
}
领域
delay

string ( Duration format)

数据包延迟,必须 >= 0。

以秒为单位的持续时间,最多包含九个小数位,以“ s ”结尾。示例: "3.5s"

packetLossRatio

number

丢包率(0.0 - 1.0)。

packetDuplicationRatio

number

数据包重复率(0.0 - 1.0)。

bandwidth

number

带宽(以千比特/秒为单位)。

burst

number

突发大小(以 kbit 为单位)。

提供的软件目录

当前在被测设备上提供的软件环境。

JSON 表示
{
  "orchestratorVersion": string,
  "androidxOrchestratorVersion": string
}
领域
orchestratorVersion
(deprecated)

string

已弃用:今后使用 AndroidX Test Orchestrator。

表示环境中使用的 Android Test Orchestrator 当前版本的字符串。该软件包可从https://maven.google.com/web/index.html#com.android.support.test:orchestrator获取。

androidxOrchestratorVersion

string

表示环境中使用的 AndroidX Test Orchestrator 当前版本的字符串。该软件包可从https://maven.google.com/web/index.html#androidx.test:orchestrator获取。

设备Ip块目录

Firebase 测试实验室使用的 IP 块列表

JSON 表示
{
  "ipBlocks": [
    {
      object (DeviceIpBlock)
    }
  ]
}
领域
ipBlocks[]

object ( DeviceIpBlock )

Firebase 测试实验室使用的设备 IP 块

设备IP块

单个设备IP块

JSON 表示
{
  "block": string,
  "form": enum (DeviceForm),
  "addedDate": {
    object (Date)
  }
}
领域
block

string

采用 CIDR 表示法的 IP 地址块,例如:34.68.194.64/29

form

enum ( DeviceForm )

该块是否被物理设备或虚拟设备使用

addedDate

object ( Date )

此块添加到 Firebase 测试实验室的日期

方法

get

获取支持的测试环境的目录。