- 資源:測試環境目錄
- Android裝置目錄
- Android模型
- 設備表單
- 設備外形尺寸
- 每個Android版本信息
- 裝置容量
- Android版本
- 日期
- 分配
- Android運行時配置
- 語言環境
- 方向
- Ios設備目錄
- IOS模型
- PerIos版本信息
- Ios版本
- Xcode版本
- Ios運行時配置
- 網路配置目錄
- 網路設定
- 交通規則
- 提供的軟體目錄
- 設備Ip塊目錄
- 設備IP塊
- 方法
資源:測試環境目錄
測試環境的描述。
JSON 表示 |
---|
{ // Union field |
領域 | |
---|---|
聯合字段environment_catalog 。僅輸出。 environment_catalog 只能是以下之一: | |
androidDeviceCatalog | 支援的 Android 裝置。 |
iosDeviceCatalog | 支援的 iOS 裝置。 |
networkConfigurationCatalog | 支援的網路配置。 |
softwareCatalog | TestExecutionService提供的軟體測試環境。 |
deviceIpBlockCatalog | 測試環境中設備使用的 IP 區塊。 |
Android裝置目錄
目前支援的Android設備。
JSON 表示 |
---|
{ "models": [ { object ( |
領域 | |
---|---|
models[] | 支援的 Android 裝置型號集。 |
versions[] | 支援的 Android 作業系統版本集。 |
runtimeConfiguration | 支援的運行時配置集。 |
Android模型
可以運行測試的 Android 裝置的描述。
JSON 表示 |
---|
{ "id": string, "name": string, "manufacturer": string, "brand": string, "codename": string, "form": enum ( |
領域 | |
---|---|
id | 該模型的唯一不透明 ID。使用它來呼叫 TestExecutionService。 |
name | 該設備型號的人類可讀的營銷名稱。例:「Nexus 5」、「Galaxy S5」。 |
manufacturer | 該設備的製造商。 |
brand | 該設備的品牌公司。例:「Google」、「三星」。 |
codename | 工業設計的名稱。這對應於 android.os.Build.DEVICE。 |
form | 該設備是虛擬的還是實體的。 |
formFactor | 該設備是否為手機、平板電腦、穿戴式裝置等。 |
perVersionInfo[] | Android 型號的版本特定資訊。 |
screenX | 水平 (X) 維度的螢幕尺寸(以像素為單位)。 |
screenY | 垂直 (Y) 維度的螢幕尺寸(以像素為單位)。 |
screenDensity | 螢幕密度(DPI)。這對應於 ro.sf.lcd_密度 |
lowFpsVideoRecording | 當且僅當透過將螢幕截圖拼接在一起來記錄此模型的測試時,才為真。請參閱裝置配置中的 use_low_spec_video_recording。 |
supportedVersionIds[] | 該裝置支援的 Android 版本集。 |
supportedAbis[] | 該設備支援的 ABI 清單。這對應於 android.os.Build.SUPPORTED_ABIS(對於 API 等級 21 及以上)或 android.os.Build.CPU_ABI/CPU_ABI2。最優選的 ABI 是清單中的第一個元素。 元素可以選擇新增「versionId:」前綴(其中 versionId 是 AndroidVersion 的 id),表示僅在特定版本上支援的 ABI。 |
tags[] | 該維度的標籤。範例:「預設」、「預覽」、「已棄用」。 |
thumbnailUrl | 裝置縮圖(照片)的 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 ( |
領域 | |
---|---|
versionId | 安卓版本。 |
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 ( |
領域 | |
---|---|
id | 此 Android 版本的不透明 ID。使用此 id 呼叫 TestExecutionService。 |
versionString | 表示此 Android 作業系統版本的字串。例:「4.3」、「4.4」。 |
apiLevel | 此 Android 版本的 API 等級。例:18、19。 |
codeName | 此 Android 版本的代號。範例:「JellyBean」、「KitKat」。 |
releaseDate | 此 Android 版本上市的日期。 |
distribution | 該版本的市場佔有率。 |
tags[] | 該維度的標籤。範例:「預設」、「預覽」、「已棄用」。 |
日期
表示整個或部分日曆日期,例如生日。一天中的時間和時區要麼在其他地方指定,要麼無關緊要。該日期是相對於公曆的。這可以代表以下其中之一:
- 完整日期,具有非零年、月和日值。
- 一個月和一天,年份為零(例如週年紀念日)。
- 一年本身,有零個月和零日。
- 年和月,帶有零日(例如,信用卡到期日)。
相關類型:
-
google.type.TimeOfDay
-
google.type.DateTime
-
google.protobuf.Timestamp
JSON 表示 |
---|
{ "year": integer, "month": integer, "day": integer } |
領域 | |
---|---|
year | 日期年份。必須介於 1 到 9999 之間,或使用 0 來指定不含年份的日期。 |
month | 一年中的一個月。必須介於 1 到 12 之間,或使用 0 來指定沒有月份和日期的年份。 |
day | 一個月中的一天。必須介於 1 到 31 之間,並且對年份和月份有效,或使用 0 來單獨指定年份,或指定年份和月份(其中日期不重要)。 |
分配
有關運行給定 Android 平台配置的裝置相對數量的數據。
JSON 表示 |
---|
{ "measurementTime": string, "marketShare": number } |
領域 | |
---|---|
measurementTime | 僅輸出。測量該分佈的時間。 RFC3339 UTC「Zulu」格式的時間戳,具有奈秒解析度和最多九個小數位。範例: |
marketShare | 僅輸出。具有此配置的總市場的估計比例 (0-1)。 |
Android運行時配置
可以在執行測試時選擇的 Android 配置。
JSON 表示 |
---|
{ "locales": [ { object ( |
領域 | |
---|---|
locales[] | 可用區域設定的集合。 |
orientations[] | 可用方向的集合。 |
語言環境
語言的位置/區域指定。
JSON 表示 |
---|
{ "id": string, "name": string, "region": string, "tags": [ string ] } |
領域 | |
---|---|
id | 該區域設定的 ID。範例:“en_US”。 |
name | 該語言/區域設定的人類友善名稱。例如:“英語”。 |
region | 代表該語言環境的區域的人類友善字串。例如:「美國」。並非每個區域都存在。 |
tags[] | 該維度的標籤。範例:“預設”。 |
方向
設備的螢幕方向。
JSON 表示 |
---|
{ "id": string, "name": string, "tags": [ string ] } |
領域 | |
---|---|
id | 該方向的 ID。例如:「肖像」。 |
name | 此方向的一個人類友善的名稱。例如:「肖像」。 |
tags[] | 該維度的標籤。範例:“預設”。 |
Ios設備目錄
目前支援的 iOS 裝置。
JSON 表示 |
---|
{ "models": [ { object ( |
領域 | |
---|---|
models[] | 支援的 iOS 裝置型號集。 |
versions[] | 支援的 iOS 軟體版本集。 |
xcodeVersions[] | 支援的 Xcode 版本集。 |
runtimeConfiguration | 支援的運行時配置集。 |
IOS模型
可以運行測試的 iOS 裝置的描述。
JSON 表示 |
---|
{ "id": string, "name": string, "supportedVersionIds": [ string ], "tags": [ string ], "deviceCapabilities": [ string ], "screenX": integer, "screenY": integer, "screenDensity": integer, "formFactor": enum ( |
領域 | |
---|---|
id | 該模型的唯一不透明 ID。使用它來呼叫 TestExecutionService。 |
name | 該設備型號的人類可讀名稱。範例:「iPhone 4s」、「iPad Mini 2」。 |
supportedVersionIds[] | 該裝置支援的 iOS 主要軟體版本集。 |
tags[] | 該維度的標籤。範例:「預設」、「預覽」、「已棄用」。 |
deviceCapabilities[] | |
screenX | 水平 (X) 維度的螢幕尺寸(以像素為單位)。 |
screenY | 垂直 (Y) 維度的螢幕尺寸(以像素為單位)。 |
screenDensity | 螢幕密度(DPI)。 |
formFactor | 該設備是否為手機、平板電腦、穿戴式裝置等。 |
perVersionInfo[] | iOS 模型的版本特定資訊。 |
PerIos版本信息
iOS 型號的版本特定資訊。
JSON 表示 |
---|
{
"versionId": string,
"deviceCapacity": enum ( |
領域 | |
---|---|
versionId | iOS 版本。 |
deviceCapacity | iOS版本的線上裝置數。 |
Ios版本
iOS 版本。
JSON 表示 |
---|
{ "id": string, "majorVersion": integer, "minorVersion": integer, "tags": [ string ], "supportedXcodeVersionIds": [ string ] } |
領域 | |
---|---|
id | 此 iOS 版本的不透明 ID。使用此 id 呼叫 TestExecutionService。 |
majorVersion | 代表主要 iOS 版本的整數。例:「8」、「9」。 |
minorVersion | 表示 iOS 次要版本的整數。範例:「1」、「2」。 |
tags[] | 該維度的標籤。範例:「預設」、「預覽」、「已棄用」。 |
supportedXcodeVersionIds[] | 此版本的可用 Xcode 版本。 |
Xcode版本
iOS 版本相容的 Xcode 版本。
JSON 表示 |
---|
{ "version": string, "tags": [ string ] } |
領域 | |
---|---|
version | 該版本的 id。例:“9.2”。 |
tags[] | 此 Xcode 版本的標籤。範例:“預設”。 |
Ios運行時配置
可以在執行測試時選擇的 iOS 配置。
JSON 表示 |
---|
{ "locales": [ { object ( |
領域 | |
---|---|
locales[] | 可用區域設定的集合。 |
orientations[] | 可用方向的集合。 |
網路配置目錄
JSON 表示 |
---|
{
"configurations": [
{
object ( |
領域 | |
---|---|
configurations[] | |
網路設定
JSON 表示 |
---|
{ "id": string, "upRule": { object ( |
領域 | |
---|---|
id | 此網路流量配置的唯一不透明 ID。 |
upRule | 適用於上傳流量的模擬規則。 |
downRule | 適用於下載流量的模擬規則。 |
交通規則
網路仿真參數。
JSON 表示 |
---|
{ "delay": string, "packetLossRatio": number, "packetDuplicationRatio": number, "bandwidth": number, "burst": number } |
領域 | |
---|---|
delay | 資料包延遲,必須 >= 0。 以秒為單位的持續時間,最多包含九個小數位,以「 |
packetLossRatio | 丟包率(0.0 - 1.0)。 |
packetDuplicationRatio | 資料包重複率(0.0 - 1.0)。 |
bandwidth | 頻寬(以千位元/秒為單位)。 |
burst | 突發大小(以 kbit 為單位)。 |
提供的軟體目錄
目前在被測設備上提供的軟體環境。
JSON 表示 |
---|
{ "orchestratorVersion": string, "androidxOrchestratorVersion": string } |
領域 | |
---|---|
orchestratorVersion | 已棄用:今後使用 AndroidX Test Orchestrator。 表示環境中使用的 Android Test Orchestrator 目前版本的字串。軟體包可從https://maven.google.com/web/index.html#com.android.support.test:orchestrator取得。 |
androidxOrchestratorVersion | 表示環境中使用的 AndroidX Test Orchestrator 目前版本的字串。軟體包可從https://maven.google.com/web/index.html#androidx.test:orchestrator取得。 |
設備Ip塊目錄
Firebase 測試實驗室使用的 IP 區塊列表
JSON 表示 |
---|
{
"ipBlocks": [
{
object ( |
領域 | |
---|---|
ipBlocks[] | Firebase 測試實驗室使用的設備 IP 區塊 |
設備IP塊
單一設備IP塊
JSON 表示 |
---|
{ "block": string, "form": enum ( |
領域 | |
---|---|
block | 採用 CIDR 表示法的 IP 位址區塊,例如:34.68.194.64/29 |
form | 該區塊是否被實體設備或虛擬設備使用 |
addedDate | 此區塊新增至 Firebase 測試實驗室的日期 |
方法 | |
---|---|
| 取得支援的測試環境的目錄。 |