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 블록

AndroidDeviceCatalog

현재 지원되는 Android 기기입니다.

JSON 표현
{
  "models": [
    {
      object (AndroidModel)
    }
  ],
  "versions": [
    {
      object (AndroidVersion)
    }
  ],
  "runtimeConfiguration": {
    object (AndroidRuntimeConfiguration)
  }
}
필드
models[]

object (AndroidModel)

지원되는 Android 기기 모델의 집합입니다.

versions[]

object (AndroidVersion)

지원되는 Android OS 버전의 집합입니다.

runtimeConfiguration

object (AndroidRuntimeConfiguration)

지원되는 런타임 구성 집합입니다.

AndroidModel

테스트를 실행할 수 있는 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

이 기기의 브랜드 회사입니다. 예: '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

이 모델의 테스트가 스크린샷과 함께 결합하여 기록된 경우에만 true입니다. 기기 설정에서 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입니다.

DeviceForm

기기가 실제 또는 가상인지 여부입니다.

열거형
DEVICE_FORM_UNSPECIFIED 사용하지 마세요. Proto 버전 관리 전용입니다.
VIRTUAL Compute Engine 기본 가상화를 사용하는 Android 가상 기기 Firebase Test Lab 전용입니다.
PHYSICAL 실제 하드웨어입니다.
EMULATOR 중첩된 가상화에서 에뮬레이터를 사용하는 Android Virtual Device Android 스튜디오와 같습니다.

DeviceFormFactor

기기의 폼 팩터입니다.

열거형
DEVICE_FORM_FACTOR_UNSPECIFIED 사용하지 마세요. Proto 버전 관리 전용입니다.
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)

출력 전용입니다. 직접 액세스를 사용하는 단일 대화형 기기 세션의 예상 대기 시간입니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

directAccessVersionInfo

object (DirectAccessVersionInfo)

출력 전용입니다. 이 Android 버전에서 DirectAccess가 지원되는 클라이언트를 식별합니다.

기기 용량

용량은 실습에 있는 온라인 기기 수를 기준으로 합니다.

중요: 기기 용량은 특정 시점의 대기열 길이를 직접 반영하지 않습니다. 현재 트래픽이나 기기 상태는 고려하지 않습니다.

실제 기기의 경우 지난 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 스튜디오 클라이언트에 구현된 특정 해결 방법을 통해서만 기기가 작동하는 것으로 알려진 클라이언트-기기 호환성을 나타냅니다. 올바른 형식은 'major.minor.micro.patch'입니다. 예: '5921.22.2211.8881706'

AndroidVersion

Android OS의 버전입니다.

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 OS의 버전을 나타내는 문자열입니다. 예: '4.3', '4.4'.

apiLevel

integer

이 Android 버전의 API 수준입니다. 예: 18, 19.

codeName

string

이 Android 버전의 코드 이름입니다. 예: 'JellyBean', 'KitKat'.

releaseDate

object (Date)

이 Android 버전이 출시된 날짜입니다.

distribution

object (Distribution)

이 버전의 시장점유율입니다.

tags[]

string

이 측정기준의 태그입니다. 예: '기본값', '미리보기', '지원 중단됨'.

날짜

생일과 같은 전체 또는 부분 달력 날짜를 나타냅니다. 시간과 시간대는 아무 곳으로 지정되거나 중요하지 않습니다. 날짜는 그레고리력을 기준으로 합니다. 이는 다음 중 하나를 나타낼 수 있습니다.

  • 연도, 월, 일 값이 0이 아닌 전체 날짜
  • 월과 일, 연도는 0(예: 기념일)
  • 연도만, 월과 일은 0
  • 연도와 월, 일은 0(예: 신용카드 만료일)

관련 유형:

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' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "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)

사용 가능한 방향 집합입니다.

Locale

언어에 대한 위치/지역입니다.

JSON 표현
{
  "id": string,
  "name": string,
  "region": string,
  "tags": [
    string
  ]
}
필드
id

string

이 언어의 ID입니다. 예: 'en_US'.

name

string

사람이 읽을 수 있는 이 언어의 이름입니다. 예: 'English'.

region

string

이 언어의 지역을 나타내는 사람이 읽을 수 있는 형식의 문자열입니다. 예: 'United States'. 일부 언어에는 제공되지 않습니다.

tags[]

string

이 측정기준의 태그입니다. 예: 'default'.

Orientation

기기의 화면 방향입니다.

JSON 표현
{
  "id": string,
  "name": string,
  "tags": [
    string
  ]
}
필드
id

string

이 방향의 ID입니다. 예: 'portrait'.

name

string

사람이 읽을 수 있는 이 방향의 이름입니다. 예: 'portrait'.

tags[]

string

이 측정기준의 태그입니다. 예: 'default'.

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)

지원되는 런타임 구성 집합입니다.

IosModel

테스트를 실행할 수 있는 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 모델의 버전별 정보입니다.

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 버전의 불투명 ID입니다. 이 ID를 사용하여 TestExecutionService를 호출합니다.

majorVersion

integer

iOS 주 버전을 나타내는 정수입니다. 예: '8', '9'.

minorVersion

integer

iOS 부 버전을 나타내는 정수입니다. 예: '1', '2'.

tags[]

string

이 측정기준의 태그입니다. 예: '기본값', '미리보기', '지원 중단됨'.

supportedXcodeVersionIds[]

string

이 버전에 사용할 수 있는 Xcode 버전입니다.

XcodeVersion

iOS 버전과 호환되는 Xcode 버전입니다.

JSON 표현
{
  "version": string,
  "tags": [
    string
  ]
}
필드
version

string

이 버전의 ID입니다. 예: '9.2'.

tags[]

string

이 Xcode 버전의 태그입니다. 예: 'default'.

IosRuntimeConfiguration

테스트를 실행할 때 선택할 수 있는 iOS 구성입니다.

JSON 표현
{
  "locales": [
    {
      object (Locale)
    }
  ],
  "orientations": [
    {
      object (Orientation)
    }
  ]
}
필드
locales[]

object (Locale)

사용 가능한 언어 집합입니다.

orientations[]

object (Orientation)

사용 가능한 방향 집합입니다.

NetworkConfigurationCatalog

JSON 표현
{
  "configurations": [
    {
      object (NetworkConfiguration)
    }
  ]
}
필드
configurations[]

object (NetworkConfiguration)

NetworkConfiguration

JSON 표현
{
  "id": string,
  "upRule": {
    object (TrafficRule)
  },
  "downRule": {
    object (TrafficRule)
  }
}
필드
id

string

이 네트워크 트래픽 구성의 고유한 불투명 ID입니다.

upRule

object (TrafficRule)

업로드 트래픽에 적용되는 에뮬레이션 규칙입니다.

downRule

object (TrafficRule)

다운로드 트래픽에 적용되는 에뮬레이션 규칙입니다.

TrafficRule

네트워크 에뮬레이션 매개변수입니다.

JSON 표현
{
  "delay": string,
  "packetLossRatio": number,
  "packetDuplicationRatio": number,
  "bandwidth": number,
  "burst": number
}
필드
delay

string (Duration format)

패킷 지연으로, 0 이상이어야 합니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

packetLossRatio

number

패킷 손실률(0.0~1.0)입니다.

packetDuplicationRatio

number

패킷 중복률(0.0~ 1.0)입니다.

bandwidth

number

대역폭(kbit/초)입니다.

burst

number

버스트 크기(kbit)입니다.

ProvidedSoftwareCatalog

현재 테스트 중인 기기에서 제공하는 소프트웨어 환경입니다.

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에서 사용할 수 있습니다.

DeviceIpBlockCatalog

Firebase Test Lab에서 사용하는 IP 블록 목록

JSON 표현
{
  "ipBlocks": [
    {
      object (DeviceIpBlock)
    }
  ]
}
필드
ipBlocks[]

object (DeviceIpBlock)

Firebase Test Lab에서 사용하는 기기 IP 블록

DeviceIpBlock

단일 기기 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 Test Lab에 추가된 날짜입니다.

메소드

get

지원되는 테스트 환경 카탈로그를 가져옵니다.