REST Resource: testEnvironmentCatalog

Zasób: TestEnvironmentCatalog

Opis środowiska testowego.

Zapis 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.
}
Pola
Pole sumy environment_catalog. Tylko dane wyjściowe. environment_catalog może mieć tylko jedną z tych wartości:
androidDeviceCatalog

object (AndroidDeviceCatalog)

Obsługiwane urządzenia z Androidem.

iosDeviceCatalog

object (IosDeviceCatalog)

Obsługiwane urządzenia z iOS.

networkConfigurationCatalog

object (NetworkConfigurationCatalog)

Obsługiwane konfiguracje sieci.

softwareCatalog

object (ProvidedSoftwareCatalog)

Środowisko testowe oprogramowania udostępniane przez TestExecutionService.

deviceIpBlockCatalog

object (DeviceIpBlockCatalog)

Bloki adresów IP używane przez urządzenia w środowisku testowym.

Katalog urządzeń z Androidem

aktualnie obsługiwane urządzenia z Androidem,

Zapis JSON
{
  "models": [
    {
      object (AndroidModel)
    }
  ],
  "versions": [
    {
      object (AndroidVersion)
    }
  ],
  "runtimeConfiguration": {
    object (AndroidRuntimeConfiguration)
  }
}
Pola
models[]

object (AndroidModel)

Zestaw obsługiwanych modeli urządzeń z Androidem.

versions[]

object (AndroidVersion)

Zestaw obsługiwanych wersji systemu operacyjnego Android.

runtimeConfiguration

object (AndroidRuntimeConfiguration)

Zbiór obsługiwanych konfiguracji środowiska wykonawczego.

Model Androida

Można uruchamiać opis testów na urządzeniu z Androidem.

Zapis 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
}
Pola
id

string

Unikalny nieprzezroczysty identyfikator tego modelu. Służy do wywoływania usługi TestExecutionService.

name

string

Zrozumiała dla człowieka nazwa marketingowa tego modelu urządzenia. Przykłady: „Nexus 5”, „Galaxy S5”.

manufacturer

string

Producent tego urządzenia.

brand

string

Firma, z którą to urządzenie kojarzy się z marką. Przykład: „Google”, „Samsung”.

codename

string

Nazwa wzornictwa przemysłowego. Odpowiada to android.os.Build.DEVICE.

form

enum (DeviceForm)

Określa, czy urządzenie jest wirtualne czy fizyczne.

formFactor

enum (DeviceFormFactor)

Określa, czy to urządzenie to telefon, tablet, urządzenie do noszenia itp.

perVersionInfo[]

object (PerAndroidVersionInfo)

Informacje o konkretnej wersji modelu Androida.

screenX

integer

Rozmiar ekranu w wymiarze poziomym (X) mierzony w pikselach.

screenY

integer

Rozmiar ekranu w wymiarze pionowym (Y) mierzony w pikselach.

screenDensity

integer

Gęstość ekranu w DPI. Odpowiada to gęstości ro.sf.lcd_restriction

lowFpsVideoRecording

boolean

Wartość prawda tylko wtedy, gdy testy w tym modelu są rejestrowane przez połączenie zrzutów ekranu. Zobacz use_low_spec_video_recording w konfiguracji urządzenia.

supportedVersionIds[]

string

Zestaw wersji Androida obsługiwanych przez to urządzenie.

supportedAbis[]

string

Lista interfejsów ABI obsługiwanych przez to urządzenie. Odpowiada to android.os.Build.SUPPORTED_ABIS (w przypadku interfejsu API na poziomie 21 i wyższym) lub android.os.Build.CPU_ABI/CPU_ABI2. Preferowany interfejs ABI to pierwszy element na liście.

Elementy mogą być opcjonalnie poprzedzone ciągiem „versionId:” (gdzie versionId to identyfikator wersji AndroidVersion), który wskazuje interfejs ABI obsługiwany tylko w określonej wersji.

tags[]

string

Tagi dla tego wymiaru. Przykłady: „domyślne”, „podgląd”, „wycofane”.

thumbnailUrl

string

Adres URL miniatury (zdjęcia) urządzenia.

Formularz urządzenia

Określa, czy urządzenie jest fizyczne, czy wirtualne.

Wartości w polu enum
DEVICE_FORM_UNSPECIFIED Nie używać. Tylko na potrzeby obsługi wersji proto.
VIRTUAL Urządzenie wirtualne z Androidem korzystające z natywnej wirtualizacji Compute Engine. Dotyczy tylko Laboratorium Firebase.
PHYSICAL Rzeczywisty sprzęt.
EMULATOR Urządzenie wirtualne z Androidem za pomocą emulatora w zagnieżdżonej wirtualizacji. Odpowiednik Android Studio.

Format urządzenia

Format urządzenia.

Wartości w polu enum
DEVICE_FORM_FACTOR_UNSPECIFIED Nie używać. Tylko na potrzeby obsługi wersji proto.
PHONE To urządzenie ma kształt telefonu.
TABLET To urządzenie ma kształt tabletu.
WEARABLE To urządzenie ma kształt zegarka lub innego urządzenia do noszenia.

Informacje o wersji na Androida

Informacje o modelu Androida dotyczące konkretnej wersji.

Zapis JSON
{
  "versionId": string,
  "deviceCapacity": enum (DeviceCapacity),
  "interactiveDeviceAvailabilityEstimate": string,
  "directAccessVersionInfo": {
    object (DirectAccessVersionInfo)
  }
}
Pola
versionId

string

Wersja Androida.

deviceCapacity

enum (DeviceCapacity)

Liczba urządzeń online z daną wersją Androida.

interactiveDeviceAvailabilityEstimate

string (Duration format)

Tylko dane wyjściowe. Szacowany czas oczekiwania na pojedynczą sesję interaktywną na urządzeniu przy użyciu bezpośredniego dostępu.

Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku, kończący się cyfrą „s”. Przykład: "3.5s".

directAccessVersionInfo

object (DirectAccessVersionInfo)

Tylko dane wyjściowe. Identyfikuje klientów obsługiwanych przez DirectAccess w tej wersji Androida.

Pojemność urządzenia

Pojemność na podstawie liczby urządzeń online w laboratorium.

Ważne: pojemność urządzenia nie odzwierciedla bezpośrednio długości kolejki. Nie uwzględniają one bieżącego ruchu ani stanu urządzeń.

W przypadku urządzeń fizycznych ta liczba to średnia liczba urządzeń online w ciągu ostatnich 30 dni.

Wartości w polu enum
DEVICE_CAPACITY_UNSPECIFIED Wartość pojemności urządzenia jest nieznana lub nieskonfigurowana.
DEVICE_CAPACITY_HIGH

Urządzenia o dużej wydajności (w laboratorium jest wiele takich urządzeń).

Te urządzenia są zwykle zalecane do przeprowadzania dużej liczby jednoczesnych testów (np. ponad 100 testów).

Pamiętaj, że urządzenia o dużej pojemności nie gwarantują krótkiego czasu oczekiwania ze względu na kilka czynników: 1. ruch (czyli intensywność ich użytkowania w danym momencie); 2. Urządzenia o dużej pojemności są traktowane priorytetowo w przypadku niektórych zastosowań, przez co testy przez użytkowników mogą być wolniejsze niż w przypadku innych podobnych typów urządzeń.

DEVICE_CAPACITY_MEDIUM

Urządzenia o średniej wydajności (laboratorium ma przyzwoitą liczbę urządzeń, ale nie tyle urządzeń o dużej pojemności).

Te urządzenia są odpowiednie do mniejszej liczby uruchomień testowych (np. mniej niż 100 testów) i tylko do obsługi małej liczby fragmentów (np. mniej niż 10 fragmentów).

DEVICE_CAPACITY_LOW

Urządzenia o niskiej wydajności (w laboratorium jest mała liczba takich urządzeń).

Tych urządzeń można używać do testowania na konkretnym modelu i wersji urządzenia. Pamiętaj, że ze względu na małą pojemność testy mogą potrwać znacznie dłużej, zwłaszcza jeśli wywoływana jest duża liczba testów jednocześnie. Te urządzenia nie nadają się do fragmentacji testowej.

DEVICE_CAPACITY_NONE

Urządzenia, których w ogóle nie ma w laboratorium.

Te urządzenia są niedostępne tymczasowo lub na stałe i nie należy ich żądać. Jeśli urządzenie jest również oznaczone jako wycofane, z dużym prawdopodobieństwem ten stan będzie nieodwracalny.

Informacje o wersji DirectAccess

Wskazuje, czy jest obsługiwany dostęp bezpośredni i w jakich wersjach klienta.

Usługa DirectAccessService jest obecnie dostępna w wersji testowej dla wybranych deweloperów. Możesz zarejestrować się już dziś w imieniu swojego i swojego zespołu na stronie https://developer.android.com/studio/preview/android-device-streaming

Zapis JSON
{
  "directAccessSupported": boolean,
  "minimumAndroidStudioVersion": string
}
Pola
directAccessSupported

boolean

czy dostęp bezpośredni jest w ogóle obsługiwany. Klient powinien filtrować listę urządzeń, aby zawierała tylko te modele i wersje Androida, które obsługują bezpośredni dostęp, jeśli takie są zamiary użytkownika.

minimumAndroidStudioVersion

string

Tylko dane wyjściowe. Wskazuje zgodność z urządzeniem klienta, o której wiadomo, że urządzenie działa tylko z określonymi sposobami obejścia problemu zaimplementowanymi w kliencie Android Studio. Oczekiwany format „duży.podrzędny.mikro.poprawka”, np. „5921.22.2211.8881706”.

Wersja Androida

Wersja systemu operacyjnego Android.

Zapis JSON
{
  "id": string,
  "versionString": string,
  "apiLevel": integer,
  "codeName": string,
  "releaseDate": {
    object (Date)
  },
  "distribution": {
    object (Distribution)
  },
  "tags": [
    string
  ]
}
Pola
id

string

Nieprzezroczysty identyfikator tej wersji Androida. Użyj tego identyfikatora do wywoływania usługi TestExecutionService.

versionString

string

Ciąg znaków reprezentujący tę wersję systemu operacyjnego Android. Przykłady: „4.3”, „4.4”.

apiLevel

integer

Poziom interfejsu API dla tej wersji Androida. Przykłady: 18, 19.

codeName

string

Nazwa kodowa tej wersji Androida. Przykłady: „JellyBean”, „KitKat”.

releaseDate

object (Date)

Data udostępnienia tej wersji Androida w rynku.

distribution

object (Distribution)

Udział w rynku dla tej wersji.

tags[]

string

Tagi dla tego wymiaru. Przykłady: „domyślne”, „podgląd”, „wycofane”.

Data

Reprezentuje całą datę lub jej część, na przykład datę urodzin. Pora dnia i strefa czasowa zostały określone w innym miejscu lub są nieistotne. Data zależy od kalendarza gregoriańskiego. Może to być jedna z tych wartości:

  • Pełna data z wartościami niezerowymi dotyczącymi roku, miesiąca i dnia.
  • Miesiąc i dzień bez roku (np. rocznica).
  • Sam rok z zerowym miesiącem i zerowym dniem.
  • Rok i miesiąc z zerową datą ważności (np. data ważności karty kredytowej).

Podobne typy:

Zapis JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Pola
year

integer

Rok daty. Wartość musi mieścić się w zakresie od 1 do 9999 lub od 0 do określenia daty bez roku.

month

integer

Miesiąc w roku. Musi mieścić się w zakresie od 1 do 12 lub 0, jeśli chcesz określić rok bez miesiąca i dnia.

day

integer

Dzień miesiąca. Wartość musi należeć do zakresu od 1 do 31 i jest ważna dla roku i miesiąca. Wartość 0 pozwala określić pojedynczy rok lub rok i miesiąc, w którym dzień nie jest istotny.

Rozkład

Dane o względnej liczbie urządzeń z określoną konfiguracją platformy Android.

Zapis JSON
{
  "measurementTime": string,
  "marketShare": number
}
Pola
measurementTime

string (Timestamp format)

Tylko dane wyjściowe. Czas pomiaru tego rozkładu.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

marketShare

number

Tylko dane wyjściowe. Szacowany odsetek (0–1) całego rynku z tą konfiguracją.

Konfiguracja środowiska wykonawczego Androida

Konfiguracja Androida, którą można wybrać podczas uruchamiania testu.

Zapis JSON
{
  "locales": [
    {
      object (Locale)
    }
  ],
  "orientations": [
    {
      object (Orientation)
    }
  ]
}
Pola
locales[]

object (Locale)

Zbiór dostępnych języków.

orientations[]

object (Orientation)

Zbiór dostępnych orientacji.

Język

Lokalizacja/region dla języka.

Zapis JSON
{
  "id": string,
  "name": string,
  "region": string,
  "tags": [
    string
  ]
}
Pola
id

string

Identyfikator tego regionu. Przykład: „pl_PL”.

name

string

Przyjazna dla człowieka nazwa tego języka/regionu. Na przykład „English”.

region

string

Przyjazny dla człowieka ciąg tekstowy reprezentujący region dla tego języka. Przykład: „Polska”. Nie występuje w niektórych językach.

tags[]

string

Tagi dla tego wymiaru. Przykład: „default”.

Orientacja

Orientacja ekranu urządzenia.

Zapis JSON
{
  "id": string,
  "name": string,
  "tags": [
    string
  ]
}
Pola
id

string

Identyfikator tej orientacji. Przykład: „portret”.

name

string

Przyjazna dla człowieka nazwa tej orientacji. Przykład: „portret”.

tags[]

string

Tagi dla tego wymiaru. Przykład: „default”.

Katalog urządzeń na iOS

aktualnie obsługiwane urządzenia z iOS,

Zapis JSON
{
  "models": [
    {
      object (IosModel)
    }
  ],
  "versions": [
    {
      object (IosVersion)
    }
  ],
  "xcodeVersions": [
    {
      object (XcodeVersion)
    }
  ],
  "runtimeConfiguration": {
    object (IosRuntimeConfiguration)
  }
}
Pola
models[]

object (IosModel)

Zestaw obsługiwanych modeli urządzeń z iOS.

versions[]

object (IosVersion)

Zestaw obsługiwanych wersji oprogramowania na iOS.

xcodeVersions[]

object (XcodeVersion)

Zestaw obsługiwanych wersji Xcode.

runtimeConfiguration

object (IosRuntimeConfiguration)

Zbiór obsługiwanych konfiguracji środowiska wykonawczego.

Model IOS

Można uruchamiać testy urządzeń z iOS.

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

string

Unikalny nieprzezroczysty identyfikator tego modelu. Służy do wywoływania usługi TestExecutionService.

name

string

Zrozumiała dla człowieka nazwa tego modelu urządzenia. Przykłady: „iPhone 4s”, „iPad Mini 2”.

supportedVersionIds[]

string

Zestaw głównych wersji oprogramowania na iOS, które obsługuje to urządzenie.

tags[]

string

Tagi dla tego wymiaru. Przykłady: „domyślne”, „podgląd”, „wycofane”.

deviceCapabilities[]

string

Możliwości urządzenia. Skopiowano ze strony https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html.

screenX

integer

Rozmiar ekranu w wymiarze poziomym (X) mierzony w pikselach.

screenY

integer

Rozmiar ekranu w wymiarze pionowym (Y) mierzony w pikselach.

screenDensity

integer

Gęstość ekranu w DPI.

formFactor

enum (DeviceFormFactor)

Określa, czy to urządzenie to telefon, tablet, urządzenie do noszenia itp.

perVersionInfo[]

object (PerIosVersionInfo)

Informacje o konkretnej wersji modelu iOS.

Informacje o wersji PerIos

Informacje o konkretnej wersji modelu iOS.

Zapis JSON
{
  "versionId": string,
  "deviceCapacity": enum (DeviceCapacity)
}
Pola
versionId

string

Wersja iOS.

deviceCapacity

enum (DeviceCapacity)

Liczba urządzeń online z daną wersją iOS.

Wersja iOS

Wersja iOS.

Zapis JSON
{
  "id": string,
  "majorVersion": integer,
  "minorVersion": integer,
  "tags": [
    string
  ],
  "supportedXcodeVersionIds": [
    string
  ]
}
Pola
id

string

Nieprzezroczysty identyfikator tej wersji iOS. Użyj tego identyfikatora do wywoływania usługi TestExecutionService.

majorVersion

integer

Liczba całkowita określająca główną wersję iOS. Przykłady: „8”, „9”.

minorVersion

integer

Liczba całkowita określająca podrzędną wersję iOS. Przykłady: „1”, „2”.

tags[]

string

Tagi dla tego wymiaru. Przykłady: „domyślne”, „podgląd”, „wycofane”.

supportedXcodeVersionIds[]

string

Wersje Xcode dostępne dla tej wersji.

Wersja Xcode

Wersja Xcode, z którą jest zgodna wersja na iOS.

Zapis JSON
{
  "version": string,
  "tags": [
    string
  ]
}
Pola
version

string

Identyfikator tej wersji. Przykład: „9.2”.

tags[]

string

Tagi dla tej wersji Xcode. Przykład: „default”.

Konfiguracja środowiska wykonawczego Ios

Konfiguracja iOS, którą można wybrać podczas przeprowadzania testu.

Zapis JSON
{
  "locales": [
    {
      object (Locale)
    }
  ],
  "orientations": [
    {
      object (Orientation)
    }
  ]
}
Pola
locales[]

object (Locale)

Zbiór dostępnych języków.

orientations[]

object (Orientation)

Zbiór dostępnych orientacji.

Katalog konfiguracji sieci

Zapis JSON
{
  "configurations": [
    {
      object (NetworkConfiguration)
    }
  ]
}
Pola
configurations[]

object (NetworkConfiguration)

Konfiguracja sieci

Zapis JSON
{
  "id": string,
  "upRule": {
    object (TrafficRule)
  },
  "downRule": {
    object (TrafficRule)
  }
}
Pola
id

string

Unikalny nieprzezroczysty identyfikator dla tej konfiguracji ruchu sieciowego.

upRule

object (TrafficRule)

Reguła emulacji stosowana do przesyłanych danych.

downRule

object (TrafficRule)

Reguła emulacji stosowana do ruchu związanego z pobieraniem.

Reguła ruchu

Parametry emulacji sieci.

Zapis JSON
{
  "delay": string,
  "packetLossRatio": number,
  "packetDuplicationRatio": number,
  "bandwidth": number,
  "burst": number
}
Pola
delay

string (Duration format)

Opóźnienie pakietu musi wynosić >= 0.

Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku, kończący się cyfrą „s”. Przykład: "3.5s".

packetLossRatio

number

Współczynnik utraty pakietów (0,0–1,0).

packetDuplicationRatio

number

Współczynnik duplikatów pakietów (0,0–1,0).

bandwidth

number

Przepustowość w kb/s.

burst

number

Rozmiar serii w kb.

Udostępniany katalog oprogramowania

Aktualnie udostępniane środowisko oprogramowania na testowanych urządzeniach.

Zapis JSON
{
  "orchestratorVersion": string,
  "androidxOrchestratorVersion": string
}
Pola
orchestratorVersion
(deprecated)

string

Wycofane: od teraz używaj narzędzia AndroidX Test Assistant.

Ciąg znaków reprezentujący bieżącą wersję narzędzia Android Test Assistant, która jest używana w środowisku. Pakiet jest dostępny na stronie https://maven.google.com/web/index.html#com.android.support.test:orchestrator.

androidxOrchestratorVersion

string

Ciąg znaków reprezentujący bieżącą wersję narzędzia AndroidX Test Analysistor, które jest używane w środowisku. Pakiet jest dostępny na stronie https://maven.google.com/web/index.html#androidx.test:orchestrator.

Katalog adresów IP urządzeń

Lista bloków adresów IP używanych w Laboratorium Firebase

Zapis JSON
{
  "ipBlocks": [
    {
      object (DeviceIpBlock)
    }
  ]
}
Pola
ipBlocks[]

object (DeviceIpBlock)

Bloki adresów IP urządzenia używane w Laboratorium Firebase

Blok IP urządzenia

Pojedynczy blok adresu IP urządzenia

Zapis JSON
{
  "block": string,
  "form": enum (DeviceForm),
  "addedDate": {
    object (Date)
  }
}
Pola
block

string

Blok adresów IP w notacji CIDR, np. 34.68.194.64/29

form

enum (DeviceForm)

Określa, czy ten blok jest używany przez urządzenia fizyczne czy wirtualne

addedDate

object (Date)

Data dodania tego bloku do Laboratorium Firebase

Metody

get

Pobiera katalog obsługiwanych środowisk testowych.