REST Resource: testEnvironmentCatalog

Ресурс: 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

Уникальный непрозрачный идентификатор этой модели. Используйте это для вызова TestExecutionService.

name

string

Понятное маркетинговое название этой модели устройства. Примеры: «Нексус 5», «Галактика S5».

manufacturer

string

Производитель данного устройства.

brand

string

Компания, под которой зарегистрировано это устройство. Пример: «Google», «Samsung».

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_density.

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), обозначающий ABI, который поддерживается только в определенной версии.

tags[]

string

Теги для этого измерения. Примеры: «по умолчанию», «предварительный просмотр», «устарело».

thumbnailUrl

string

URL миниатюры изображения (фотографии) устройства.

Форма устройства

Является ли устройство физическим или виртуальным.

Перечисления
DEVICE_FORM_UNSPECIFIED Не используйте. Только для прототипных версий.
VIRTUAL Виртуальное устройство Android с использованием встроенной виртуализации Compute Engine. Только для лаборатории тестирования Firebase.
PHYSICAL Настоящее оборудование.
EMULATOR Виртуальное устройство Android с использованием эмулятора во вложенной виртуализации. Эквивалент Android Studio.

УстройствоФормФактор

Форм-фактор устройства.

Перечисления
DEVICE_FORM_FACTOR_UNSPECIFIED Не используйте. Только для прототипных версий.
PHONE Это устройство имеет форму телефона.
TABLET Это устройство имеет форму планшета.
WEARABLE Это устройство имеет форму часов или другого носимого устройства.

PerAndroidVersionInfo

Информация о версии модели Android.

JSON-представление
{
  "versionId": string,
  "deviceCapacity": enum (DeviceCapacity),
  "interactiveDeviceAvailabilityEstimate": string,
  "directAccessVersionInfo": {
    object (DirectAccessVersionInfo)
  }
}
Поля
versionId

string

Версия для Android.

deviceCapacity

enum ( DeviceCapacity )

Количество онлайн-устройств для версии Android.

interactiveDeviceAvailabilityEstimate

string ( Duration format)

Только вывод. Примерное время ожидания одного сеанса интерактивного устройства с использованием прямого доступа.

Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « s ». Пример: "3.5s" .

directAccessVersionInfo

object ( DirectAccessVersionInfo )

Только вывод. Определяет поддерживаемые клиенты DirectAccess для этой версии Android.

Емкость устройства

Емкость зависит от количества подключенных к сети устройств в лаборатории.

Важно: емкость устройства не отражает напрямую длину очереди в данный момент времени. Он не учитывает текущий трафик или состояние устройств.

Для физических устройств это среднее количество подключенных к сети устройств за последние 30 дней.

Перечисления
DEVICE_CAPACITY_UNSPECIFIED Значение емкости устройства неизвестно или не установлено.
DEVICE_CAPACITY_HIGH

Устройства большой мощности (в лаборатории имеется большое количество таких устройств).

Эти устройства обычно рекомендуются для проведения большого количества одновременных тестов (например, более 100 тестов).

Обратите внимание, что устройства с высокой емкостью не гарантируют короткое время ожидания из-за нескольких факторов: 1. Трафик (насколько интенсивно они используются в любой момент времени). 2. Устройства с высокой емкостью имеют приоритет для определенных случаев использования, что может привести к замедлению пользовательских тестов. чем выбирать другие подобные типы устройств.

DEVICE_CAPACITY_MEDIUM

Устройства средней мощности (в лаборатории имеется приличное количество таких устройств, хотя и не так много, как устройства большой мощности).

Эти устройства подходят для меньшего количества тестовых запусков (например, менее 100 тестов) и только для небольшого количества сегментов (например, менее 10 сегментов).

DEVICE_CAPACITY_LOW

Устройства малой мощности (В лаборатории имеется небольшое количество таких устройств).

Эти устройства можно использовать, если пользователям необходимо протестировать конкретную модель и версию устройства. Обратите внимание, что из-за низкой емкости выполнение тестов может занять гораздо больше времени, особенно если одновременно запускается большое количество тестов. Эти устройства не подходят для тестового шардинга.

DEVICE_CAPACITY_NONE

Устройства, которых полностью нет в лаборатории.

Эти устройства недоступны временно или постоянно, и их не следует запрашивать. Если устройство также помечено как устаревшее, это состояние, скорее всего, останется постоянным.

DirectAccessVersionInfo

Указывает, поддерживается ли прямой доступ и какими версиями клиента.

DirectAccessService в настоящее время доступен в виде предварительной версии для избранных разработчиков. Вы можете зарегистрироваться сегодня от имени себя и своей команды по адресу https://developer.android.com/studio/preview/android-device-streaming.

JSON-представление
{
  "directAccessSupported": boolean,
  "minimumAndroidStudioVersion": string
}
Поля
directAccessSupported

boolean

Поддерживается ли вообще прямой доступ. Ожидается, что клиенты будут фильтровать список устройств, оставляя только модели и версии Android, которые поддерживают прямой доступ, если это является намерением пользователя.

minimumAndroidStudioVersion

string

Только вывод. Указывает совместимость клиентского устройства, когда известно, что устройство работает только с определенными обходными путями, реализованными в клиенте Android Studio. Ожидаемый формат «major.minor.micro.patch», например «5921.22.2211.8881706».

AndroidВерсия

Версия ОС Android.

JSON-представление
{
  "id": string,
  "versionString": string,
  "apiLevel": integer,
  "codeName": string,
  "releaseDate": {
    object (Date)
  },
  "distribution": {
    object (Distribution)
  },
  "tags": [
    string
  ]
}
Поля
id

string

Непрозрачный идентификатор для этой версии Android. Используйте этот идентификатор для вызова TestExecutionService.

versionString

string

Строка, представляющая данную версию ОС Android. Примеры: «4.3», «4.4».

apiLevel

integer

Уровень API для этой версии Android. Примеры: 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 «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

marketShare

number

Только вывод. Предполагаемая доля (0-1) от общего рынка с этой конфигурацией.

AndroidRuntimeConfiguration

Конфигурация 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

Идентификатор этой локали. Пример: «en_US».

name

string

Понятное для человека имя для этого языка/локали. Пример: «Английский».

region

string

Удобная для пользователя строка, представляющая регион для этого языкового стандарта. Пример: «США». Присутствует не для каждой локали.

tags[]

string

Теги для этого измерения. Пример: «по умолчанию».

Ориентация

Ориентация экрана устройства.

JSON-представление
{
  "id": string,
  "name": string,
  "tags": [
    string
  ]
}
Поля
id

string

Идентификатор этой ориентации. Пример: «портрет».

name

string

Человеколюбивое название для этой ориентации. Пример: «портрет».

tags[]

string

Теги для этого измерения. Пример: «по умолчанию».

IosDeviceCatalog

Поддерживаемые в настоящее время устройства 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-устройства можно запускать тесты.

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

Уникальный непрозрачный идентификатор этой модели. Используйте это для вызова 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.

PerIosVersionInfo

Информация о версии модели iOS.

JSON-представление
{
  "versionId": string,
  "deviceCapacity": enum (DeviceCapacity)
}
Поля
versionId

string

Версия для iOS.

deviceCapacity

enum ( DeviceCapacity )

Количество онлайн-устройств для версии iOS.

IosVersion

Версия для iOS.

JSON-представление
{
  "id": string,
  "majorVersion": integer,
  "minorVersion": integer,
  "tags": [
    string
  ],
  "supportedXcodeVersionIds": [
    string
  ]
}
Поля
id

string

Непрозрачный идентификатор для этой версии iOS. Используйте этот идентификатор для вызова TestExecutionService.

majorVersion

integer

Целое число, представляющее основную версию iOS. Примеры: «8», «9».

minorVersion

integer

Целое число, представляющее дополнительную версию iOS. Примеры: «1», «2».

tags[]

string

Теги для этого измерения. Примеры: «по умолчанию», «предварительный просмотр», «устарело».

supportedXcodeVersionIds[]

string

Доступные версии Xcode для этой версии.

XcodeVersion

Версия Xcode, с которой совместима версия iOS.

JSON-представление
{
  "version": string,
  "tags": [
    string
  ]
}
Поля
version

string

Идентификатор этой версии. Пример: «9.2».

tags[]

string

Теги для этой версии Xcode. Пример: «по умолчанию».

IosRuntimeConfiguration

Конфигурация 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

Уникальный непрозрачный идентификатор для этой конфигурации сетевого трафика.

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

Размер пакета в кбитах.

Предоставленный каталог программного обеспечения

Предоставляемая в настоящее время программная среда на тестируемых устройствах.

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 .

Каталог устройствIpBlock

Список IP-блоков, используемых Firebase Test Lab

JSON-представление
{
  "ipBlocks": [
    {
      object (DeviceIpBlock)
    }
  ]
}
Поля
ipBlocks[]

object ( DeviceIpBlock )

IP-блоки устройства, используемые Firebase Test Lab.

УстройствоIpBlock

IP-блок одного устройства

JSON-представление
{
  "block": string,
  "form": enum (DeviceForm),
  "addedDate": {
    object (Date)
  }
}
Поля
block

string

Блок IP-адреса в нотации CIDR, например: 34.68.194.64/29.

form

enum ( DeviceForm )

Используется ли этот блок физическими или виртуальными устройствами

addedDate

object ( Date )

Дата добавления этого блока в Firebase Test Lab.

Методы

get

Получает каталог поддерживаемых тестовых сред.