- 資源:TestEnvironmentCatalog
- AndroidDeviceCatalog
- Android 型號
- DeviceForm
- 裝置板型規格
- 個別 AndroidVersionInfo
- 裝置容量
- DirectAccessVersionInfo
- Android 版本
- 日期
- 發行
- Android 執行階段設定
- 語言代碼
- 螢幕方向
- IosDeviceCatalog
- IosModel
- PerIosVersionInfo
- IosVersion
- XcodeVersion
- IosRuntimeConfiguration
- NetworkConfigurationCatalog
- 網路設定
- TrafficRule
- ProvidedSoftwareCatalog
- DeviceIpBlockCatalog
- DeviceIpBlock
- 方法
資源:TestEnvironmentCatalog
測試環境的說明。
JSON 表示法 |
---|
{ // Union field |
欄位 | |
---|---|
聯集欄位 environment_catalog 。僅供輸出。environment_catalog 只能採用下列其中一種設定: |
|
androidDeviceCatalog |
支援的 Android 裝置。 |
iosDeviceCatalog |
支援的 iOS 裝置。 |
networkConfigurationCatalog |
支援的網路設定。 |
softwareCatalog |
TestExecutionService 提供的軟體測試環境。 |
deviceIpBlockCatalog |
測試環境中裝置使用的 IP 區塊。 |
AndroidDeviceCatalog
目前支援的 Android 裝置。
JSON 表示法 |
---|
{ "models": [ { object ( |
欄位 | |
---|---|
models[] |
支援的 Android 裝置型號組合。 |
versions[] |
支援的 Android 作業系統版本組合。 |
runtimeConfiguration |
支援的執行階段設定組合。 |
AndroidModel
可能執行 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」、「Samsung」。 |
codename |
工業設計的名稱。這會對應至 android.os.Build.DEVICE。 |
form |
這部裝置是虛擬或實體裝置。 |
formFactor |
這部裝置是否為手機、平板電腦、穿戴式裝置等 |
perVersionInfo[] |
Android 模型的特定版本資訊, |
screenX |
水平 (X) 尺寸的螢幕大小,以像素為單位。 |
screenY |
垂直 (Y) 尺寸的螢幕大小,以像素為單位。 |
screenDensity |
以 DPI 為單位的螢幕密度。這對應到 ro.sf.lcd_密度 |
lowFpsVideoRecording |
只有在使用此模型的測試是拼湊螢幕截圖時,才傳回 true。請參閱裝置設定中的 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[] |
這個維度的代碼。範例:「default」、「preview」、「已淘汰」。 |
thumbnailUrl |
裝置的縮圖 (相片) 網址。 |
裝置表單
裝置為實體或虛擬。
列舉 | |
---|---|
DEVICE_FORM_UNSPECIFIED |
請勿使用。僅適用於 proto 版本管理。 |
VIRTUAL |
使用 Compute Engine 原生虛擬化技術的 Android 虛擬裝置。僅限 Firebase Test Lab。 |
PHYSICAL |
實際硬體。 |
EMULATOR |
使用巢狀虛擬化模擬器的 Android 虛擬裝置。相當於 Android Studio。 |
裝置板型規格
裝置的板型規格。
列舉 | |
---|---|
DEVICE_FORM_FACTOR_UNSPECIFIED |
請勿使用。僅適用於 proto 版本管理。 |
PHONE |
這部裝置採用手機的形狀。 |
TABLET |
這部裝置的形狀有平板電腦。 |
WEARABLE |
這部裝置的形狀是智慧手錶或其他穿戴式裝置。 |
個別 AndroidVersionInfo
Android 模型的版本專屬資訊。
JSON 表示法 |
---|
{ "versionId": string, "deviceCapacity": enum ( |
欄位 | |
---|---|
versionId |
Android 版本。 |
deviceCapacity |
Android 版本的線上裝置數量。 |
interactiveDeviceAvailabilityEstimate |
僅供輸出。使用直接存取功能時,單一互動裝置工作階段的預估等待時間。 持續時間以秒為單位,最多 9 個小數位數,結尾為「 |
directAccessVersionInfo |
僅供輸出。識別支援此 Android 版本的 DirectAccess 支援的用戶端。 |
裝置容量
容量取決於研究室的線上裝置數量。
重要事項:裝置容量不會立即直接反映佇列長度。而不需考量目前的流量或裝置狀態。
以實體裝置來說,這個數字代表過去 30 天內線上裝置的平均值。
列舉 | |
---|---|
DEVICE_CAPACITY_UNSPECIFIED |
裝置容量值不明或未設定。 |
DEVICE_CAPACITY_HIGH |
容量較高的裝置 (研究室有大量這些裝置)。 一般來說,建議使用這類裝置同時執行大量測試 (例如超過 100 項測試)。 請注意,基於下列幾項因素,高容量裝置不保證能縮短等候時間:1.流量 (每個時間點的使用量上限) 2.高容量裝置會優先用於特定用途,這可能導致使用者測試速度比選取其他類似裝置類型的速度慢。 |
DEVICE_CAPACITY_MEDIUM |
中等容量的裝置 (研究室擁有的裝置數量相當多,但容量不如高)。 這些裝置適合減少測試執行次數 (例如測試少於 100 次),且僅適用於資料分割數量偏低 (例如少於 10 個資料分割)。 |
DEVICE_CAPACITY_LOW |
容量不足的裝置 (研究室中有許多裝置)。 如果使用者需要在特定裝置型號和版本上進行測試,則可以使用這些裝置。請注意,由於容量不足,測試可能需要較長時間才能完成,尤其是在一次叫用大量測試的情況下。這些裝置不適用於測試資料分割。 |
DEVICE_CAPACITY_NONE |
研究室中完全沒有裝置。 這些裝置暫時或永久無法使用,因此不應提出要求。如果裝置也標示為已淘汰,這個狀態很有可能是永久的。 |
直接存取版本資訊
指出是否支援直接存取,以及受哪些用戶端版本支援。
DirectAccessService 目前為部分開發人員提供預覽版。立即前往 https://developer.android.com/studio/preview/android-device-streaming,立即代表你和團隊成員註冊。
JSON 表示法 |
---|
{ "directAccessSupported": boolean, "minimumAndroidStudioVersion": string } |
欄位 | |
---|---|
directAccessSupported |
指出是否完全支援直接存取。針對這類使用者意圖,用戶端應只篩選出裝置清單,只列出支援 Direct Access 的 Android 型號和版本。 |
minimumAndroidStudioVersion |
僅供輸出。表示用戶端裝置相容性,表示已知裝置僅可使用 Android Studio 用戶端中實作的特定解決方法。預期格式是「major.minor.micro.patch」,例如「5921.22.2211.8881706」。 |
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[] |
這個維度的代碼。範例:「default」、「preview」、「已淘汰」。 |
日期
代表完整或部分的日曆日期,例如生日。您可以指明時段和時區,或者在其他地方指定時間或時區。日期以公曆為基準。可能代表下列其中一項:
- 完整日期,具有非零的年、月和日值。
- 日期為 0 的月份和日期,例如週年紀念日。
- 有 1 年,第 0 個月卻為 0 天。
- 年和月,但數字為零 (例如信用卡到期日)。
相關類型:
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 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例: |
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[] |
這個維度的代碼。例如:「default」。 |
紙張方向
裝置的螢幕方向。
JSON 表示法 |
---|
{ "id": string, "name": string, "tags": [ string ] } |
欄位 | |
---|---|
id |
此方向的 ID。例如:「portrait」。 |
name |
這個螢幕方向的好記名稱。例如:「portrait」。 |
tags[] |
這個維度的代碼。例如:「default」。 |
IosDeviceCatalog
目前支援的 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[] |
這個維度的代碼。範例:「default」、「preview」、「已淘汰」。 |
deviceCapabilities[] |
|
screenX |
水平 (X) 尺寸的螢幕大小,以像素為單位。 |
screenY |
垂直 (Y) 尺寸的螢幕大小,以像素為單位。 |
screenDensity |
以 DPI 為單位的螢幕密度。 |
formFactor |
這部裝置是否為手機、平板電腦、穿戴式裝置等 |
perVersionInfo[] |
iOS 型號的特定版本資訊。 |
PerIosVersionInfo
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[] |
這個維度的代碼。範例:「default」、「preview」、「已淘汰」。 |
supportedXcodeVersionIds[] |
此版本可用的 Xcode 版本。 |
XcodeVersion
與 iOS 版本相容的 Xcode 版本。
JSON 表示法 |
---|
{ "version": string, "tags": [ string ] } |
欄位 | |
---|---|
version |
這個版本的 ID。例如:「9.2」。 |
tags[] |
這個 Xcode 版本的標記。例如:「default」。 |
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。 持續時間以秒為單位,最多 9 個小數位數,結尾為「 |
packetLossRatio |
封包遺失率 (0.0 - 1.0)。 |
packetDuplicationRatio |
封包重複比率 (0.0 - 1.0)。 |
bandwidth |
頻寬 (KB/秒)。 |
burst |
連拍大小 (以 kbp 為單位)。 |
提供軟體目錄
受測裝置上目前提供的軟體環境。
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 取得套件。 |
DeviceIpBlockCatalog
Firebase Test Lab 使用的 IP 區塊清單
JSON 表示法 |
---|
{
"ipBlocks": [
{
object ( |
欄位 | |
---|---|
ipBlocks[] |
Firebase Test Lab 使用的裝置 IP 區塊 |
DeviceIpBlock
單一裝置 IP 區塊
JSON 表示法 |
---|
{ "block": string, "form": enum ( |
欄位 | |
---|---|
block |
IP 位址區塊,採用 CIDR 標記法,例如:34.68.194.64/29 |
form |
這個區塊是供實體或虛擬裝置使用 |
addedDate |
這個區塊新增至 Firebase Test Lab 的日期 |
方法 |
|
---|---|
|
取得支援的測試環境目錄。 |