- Zasób: TestMatrix
- Informacje o kliencie
- Informacje o kliencieSzczegóły
- Specyfikacja testu
- Konfiguracja testowa
- Plik urządzenia
- Plik Obb
- Odniesienie do pliku
- Zwykły plik
- Apk
- Konto
- GoogleAuto
- Zmienna środowiskowa
- Konfiguracja Systrace
- Konfiguracja testu Ios
- Plik urządzenia iOS
- Test oprzyrządowania Androida
- Pakiet aplikacji
- Opcja orkiestratora
- Opcja fragmentowania
- Jednolite odłamki
- Ręczne fragmentowanie
- TestTargetsForShard
- SmartSharding
- AndroidRoboTest
- Dyrektywa Robo
- Typ RoboAction
- Tryb Robo
- RoboStartingIntent
- LauncherActivityIntent
- Rozpocznij działanieIntencja
- Pętla testowa Androida
- Test IosXc
- IosTestLoop
- ŚrodowiskoMatrix
- AndroidMatrix
- Lista urządzeń z Androidem
- Urządzenie z Androidem
- Lista urządzeń iOS
- Urządzenie iOS
- Wykonanie testu
- Czerep
- Środowisko
- Stan testu
- NarzędzieWynikiKrok
- Szczegóły testu
- Przechowywanie wyników
- Magazyn GoogleCloud
- Historia narzędziWyniki
- Wykonanie ToolResults
- Nieprawidłowe szczegóły macierzy
- Podsumowanie wyników
- Metody
Zasób: TestMatrix
TestMatrix przechwytuje wszystkie szczegóły dotyczące testu. Zawiera konfigurację środowiska, specyfikację testu, wykonanie testów oraz ogólny stan i wynik.
Reprezentacja JSON |
---|
{ "testMatrixId": string, "projectId": string, "clientInfo": { object ( |
Pola | |
---|---|
testMatrixId | Tylko wyjście. Unikalny identyfikator ustawiony przez usługę. |
projectId | Projekt w chmurze będący właścicielem macierzy testowej. |
clientInfo | Informacje o kliencie, który wywołał test. |
testSpecification | Wymagany. Jak uruchomić test. |
environmentMatrix | Wymagany. Urządzenia, na których przeprowadzane są testy. |
testExecutions[] | Tylko wyjście. Lista wykonań testów tworzonych przez usługę dla tej macierzy. |
resultStorage | Wymagany. Gdzie zapisywane są wyniki dla macierzy. |
state | Tylko wyjście. Wskazuje bieżący postęp matrycy testowej. |
timestamp | Tylko wyjście. Czas początkowego utworzenia tej macierzy testowej. Znacznik czasu w formacie RFC3339 UTC „Zulu”, z rozdzielczością nanosekundową i maksymalnie dziewięcioma cyframi ułamkowymi. Przykłady: |
invalidMatrixDetails | Tylko wyjście. Opisuje, dlaczego macierz jest uważana za nieprawidłową. Przydatne tylko dla macierzy w stanie INVALID. |
flakyTestAttempts | Liczba prób wykonania TestExecution, jeśli z jakiegokolwiek powodu jeden lub więcej przypadków testowych zakończy się niepowodzeniem. Maksymalna dozwolona liczba powtórek to 10. Wartość domyślna to 0, co oznacza brak powtórek. |
outcomeSummary | Tylko wyjście. Ogólny wynik testu. Ustawiane tylko wtedy, gdy stan matrycy testowej jest ZAKOŃCZONY. |
failFast | Jeśli ma wartość true, zostanie podjęta co najwyżej jedna próba uruchomienia każdego wykonania/fragmentu w macierzy. Nie ma to wpływu na niestabilne próby testowe. Zwykle w przypadku wykrycia potencjalnego problemu z infrastrukturą podejmowane są 2 lub więcej prób. Ta funkcja jest przeznaczona dla obciążeń wrażliwych na opóźnienia. Częstotliwość błędów wykonania może być znacznie większa w przypadku macierzy odpornych na awarie, a wsparcie jest bardziej ograniczone z powodu tych oczekiwań. |
Informacje o kliencie
Informacje o kliencie, który wywołał test.
Reprezentacja JSON |
---|
{
"name": string,
"clientInfoDetails": [
{
object ( |
Pola | |
---|---|
name | Wymagany. Nazwa klienta, np. gcloud. |
clientInfoDetails[] | Lista szczegółowych informacji o kliencie. |
Informacje o kliencieSzczegóły
Para klucz-wartość zawierająca szczegółowe informacje o kliencie, który wywołał test. Przykłady: {'Wersja', '1.0'}, {'Utwór wydania', 'BETA'}.
Reprezentacja JSON |
---|
{ "key": string, "value": string } |
Pola | |
---|---|
key | Wymagany. Klucz szczegółowych informacji o kliencie. |
value | Wymagany. Wartość szczegółowych informacji o kliencie. |
Specyfikacja testu
Opis sposobu uruchomienia testu.
Reprezentacja JSON |
---|
{ "testTimeout": string, "disableVideoRecording": boolean, "disablePerformanceMetrics": boolean, // Union field |
Pola | |
---|---|
testTimeout | Maksymalny czas, przez który wykonanie testu może zostać uruchomione, zanim zostanie automatycznie anulowane. Wartość domyślna to 5 minut. Czas trwania w sekundach, zawierający maksymalnie dziewięć cyfr ułamkowych, kończący się na „ |
disableVideoRecording | Wyłącza nagrywanie wideo. Może zmniejszyć opóźnienie testu. |
disablePerformanceMetrics | Wyłącza rejestrowanie metryk wydajności. Może zmniejszyć opóźnienie testu. |
setup pola Unii. Wymagania dotyczące konfiguracji testu. setup może być tylko jedną z następujących czynności: | |
testSetup | Testuj wymagania konfiguracyjne dla Androida, np. pliki do zainstalowania, skrypty ładujące. |
iosTestSetup | Wymagania dotyczące konfiguracji testowej dla systemu iOS. |
test terenowa Unii. Wymagany. Typ testu do uruchomienia. test może mieć tylko jedną z następujących cech: | |
androidInstrumentationTest | Test oprzyrządowania Androida. |
androidRoboTest | Test robota na Androida. |
androidTestLoop | Aplikacja na Androida z pętlą testową. |
iosXcTest | Test XCTest dla systemu iOS za pośrednictwem pliku .xctestrun. |
iosTestLoop | Aplikacja iOS z pętlą testową. |
Konfiguracja testowa
Opis konfiguracji urządzenia z systemem Android przed uruchomieniem testu.
Reprezentacja JSON |
---|
{ "filesToPush": [ { object ( |
Pola | |
---|---|
filesToPush[] | Lista plików do przesłania na urządzenie przed rozpoczęciem testu. |
directoriesToPull[] | Lista katalogów na urządzeniu do przesłania do GCS na koniec testu; muszą to być ścieżki bezwzględne w /sdcard, /storage lub /data/local/tmp. Nazwy ścieżek są ograniczone do znaków az AZ 0-9 _ - . + i / Uwaga: Ścieżki /sdcard i /data zostaną udostępnione i traktowane jako niejawne podstawienia ścieżek. Np. jeśli /sdcard na konkretnym urządzeniu nie jest mapowany na pamięć zewnętrzną, system zastąpi go prefiksem ścieżki pamięci zewnętrznej dla tego urządzenia. |
additionalApks[] | Pliki APK do zainstalowania oprócz tych bezpośrednio testowanych. Obecnie ograniczona do 100. |
account | Urządzenie będzie zalogowane na tym koncie przez czas trwania testu. |
networkProfile | Profil ruchu sieciowego użyty do uruchomienia testu. Zapytania o dostępne profile sieciowe można wykonać przy użyciu typu środowiska NETWORK_CONFIGURATION podczas wywoływania TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog. |
environmentVariables[] | Zmienne środowiskowe do ustawienia na potrzeby testu (dotyczy tylko testów oprzyrządowania). |
systrace | Konfiguracja Systrace dla uruchomienia. Przestarzałe: Systrace używał języka Python 2, który został wycofany 1.01.2020 r. Systrace nie jest już obsługiwany w Cloud Testing API i w wynikach nie zostanie wyświetlony żaden plik Systrace. |
dontAutograntPermissions | Określa, czy zapobiec udzielaniu wszystkich uprawnień wykonawczych podczas instalacji aplikacji |
Plik urządzenia
Opis pojedynczego pliku urządzenia.
Reprezentacja JSON |
---|
{ // Union field |
Pola | |
---|---|
Pole Unii device_file . Wymagany. device_file może mieć tylko jedną z następujących wartości: | |
obbFile | Odwołanie do nieprzezroczystego pliku binarnego obiektu BLOB. |
regularFile | Odniesienie do zwykłego pliku. |
Plik Obb
Nieprzezroczysty binarny plik BLOB do zainstalowania na urządzeniu przed rozpoczęciem testu.
Reprezentacja JSON |
---|
{
"obbFileName": string,
"obb": {
object ( |
Pola | |
---|---|
obbFileName | Wymagany. Nazwa pliku OBB, która musi być zgodna z formatem określonym przez Androida, np. [main|patch].0300110.com.example.android.obb, który zostanie zainstalowany w <shared-storage>/Android/obb/<nazwa-pakietu>/ na urządzeniu. |
obb | Wymagany. Nieprzezroczyste pliki Binary Blob (OBB) do zainstalowania na urządzeniu. |
Odniesienie do pliku
Odniesienie do pliku używanego do wprowadzania danych przez użytkownika.
Reprezentacja JSON |
---|
{ // Union field |
Pola | |
---|---|
file pola Unii. Wymagany. Odniesienie do pliku. file może być tylko jednym z następujących: | |
gcsPath | Ścieżka do pliku w Google Cloud Storage. Przykład: gs://build-app-1414623860166/app%40debug-unaligned.apk Oczekuje się, że te ścieżki będą zakodowane w adresie URL (kodowanie procentowe) |
Zwykły plik
Plik lub katalog do zainstalowania na urządzeniu przed rozpoczęciem testu.
Reprezentacja JSON |
---|
{
"content": {
object ( |
Pola | |
---|---|
content | Wymagany. Plik źródłowy. |
devicePath | Wymagany. Gdzie umieścić zawartość na urządzeniu. Musi to być ścieżka bezwzględna, znajdująca się na liście dozwolonych. Jeśli plik istnieje, zostanie zastąpiony. Następujące katalogi po stronie urządzenia i wszystkie ich podkatalogi znajdują się na liście dozwolonych: ${EXTERNAL_STORAGE}, /sdcard lub /storage ${ANDROID_DATA}/local/tmp lub /data/local/tmp Określenie ścieżki poza tymi drzewami katalogów jest nieprawidłowe. Ścieżki /sdcard i /data zostaną udostępnione i potraktowane jako niejawne podstawienia ścieżek. Np. jeśli /sdcard na konkretnym urządzeniu nie jest mapowany na pamięć zewnętrzną, system zastąpi go prefiksem ścieżki pamięci zewnętrznej dla tego urządzenia i skopiuje tam plik. Zdecydowanie zaleca się korzystanie z interfejsu API środowiska w aplikacji i testowanie kodu, aby uzyskać dostęp do plików na urządzeniu w sposób przenośny. |
Apk
Plik pakietu Androida do zainstalowania.
Reprezentacja JSON |
---|
{
"location": {
object ( |
Pola | |
---|---|
location | Ścieżka do pliku APK, który ma zostać zainstalowany na urządzeniu przed rozpoczęciem testu. |
packageName | Pakiet Java dla pakietu APK, który ma zostać zainstalowany. Wartość jest określana poprzez sprawdzenie manifestu aplikacji. |
Konto
Identyfikuje konto i sposób logowania się na nie.
Reprezentacja JSON |
---|
{ // Union field |
Pola | |
---|---|
Pole związku account_type . Wymagany. Rodzaj konta, w oparciu o jego przeznaczenie (np. Google) i mechanizm logowania (np. nazwa użytkownika i hasło). account_type może mieć tylko jedną z następujących wartości: | |
googleAuto | Automatyczne konto logowania Google. |
GoogleAuto
Umożliwia automatyczne logowanie do konta Google. Jeśli jest ustawione, usługa automatycznie generuje konto testowe Google i dodaje je do urządzenia przed wykonaniem testu. Pamiętaj, że konta testowe mogą zostać ponownie wykorzystane. Wiele aplikacji pokazuje swój pełny zestaw funkcjonalności, gdy na urządzeniu znajduje się konto. Zalogowanie się do urządzenia za pomocą wygenerowanych kont umożliwia przetestowanie większej liczby funkcjonalności.
Zmienna środowiskowa
Para klucz-wartość przekazana do testu jako zmienna środowiskowa.
Reprezentacja JSON |
---|
{ "key": string, "value": string } |
Pola | |
---|---|
key | Klucz zmiennej środowiskowej. |
value | Wartość zmiennej środowiskowej. |
Konfiguracja Systrace
Reprezentacja JSON |
---|
{ "durationSeconds": integer } |
Pola | |
---|---|
durationSeconds | Czas trwania systracji w sekundach. Powinien wynosić od 1 do 30 sekund. 0 wyłącza systrace. |
Konfiguracja testu Ios
Opis konfiguracji urządzenia iOS przed uruchomieniem testu.
Reprezentacja JSON |
---|
{ "networkProfile": string, "additionalIpas": [ { object ( |
Pola | |
---|---|
networkProfile | Profil ruchu sieciowego użyty do uruchomienia testu. Zapytania o dostępne profile sieciowe można wykonać przy użyciu typu środowiska NETWORK_CONFIGURATION podczas wywoływania TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog. |
additionalIpas[] | Aplikacje na iOS do zainstalowania oprócz tych, które są bezpośrednio testowane. |
pushFiles[] | Lista plików do przesłania na urządzenie przed rozpoczęciem testu. |
pullDirectories[] | Lista katalogów na urządzeniu, które mają zostać przesłane do Cloud Storage na koniec testu. Katalogi powinny znajdować się we współdzielonym katalogu (takim jak /private/var/mobile/Media) lub w dostępnym katalogu w systemie plików aplikacji (takim jak /Documents) po podaniu identyfikatora pakietu. |
Plik urządzenia iOS
Plik lub katalog do zainstalowania na urządzeniu przed rozpoczęciem testu.
Reprezentacja JSON |
---|
{
"content": {
object ( |
Pola | |
---|---|
content | Plik źródłowy |
bundleId | Identyfikator pakietu aplikacji, w której znajduje się ten plik. Aplikacje na iOS mają własny system plików w piaskownicy, więc pliki aplikacji muszą określać, która aplikacja jest zainstalowana na urządzeniu. |
devicePath | Lokalizacja pliku na urządzeniu, w systemie plików w trybie piaskownicy aplikacji |
Test oprzyrządowania Androida
Test aplikacji na Androida, która może kontrolować komponent Androida niezależnie od jego normalnego cyklu życia. Testy oprzyrządowania systemu Android uruchamiają plik APK aplikacji i testują plik APK w ramach tego samego procesu na wirtualnym lub fizycznym urządzeniu z systemem Android. Określają także klasę modułu uruchamiającego testy, taką jak com.google.GoogleTestRunner, która może się różnić w zależności od wybranej struktury instrumentacji.
Więcej informacji na temat typów testów Androida można znaleźć na stronie https://developer.android.com/training/testing/fundamentals .
Reprezentacja JSON |
---|
{ "testApk": { object ( |
Pola | |
---|---|
testApk | Wymagany. Plik APK zawierający kod testowy do wykonania. |
appPackageId | Pakiet Java dla testowanej aplikacji. Wartość domyślna jest określana poprzez sprawdzenie manifestu aplikacji. |
testPackageId | Pakiet Java dla testu, który ma zostać wykonany. Wartość domyślna jest określana poprzez sprawdzenie manifestu aplikacji. |
testRunnerClass | Klasa InstrumentationTestRunner. Wartość domyślna jest określana poprzez sprawdzenie manifestu aplikacji. |
testTargets[] | Każdy cel musi być w pełni kwalifikowany, zawierać nazwę pakietu lub nazwę klasy w jednym z następujących formatów:
Jeśli jest pusty, zostaną uruchomione wszystkie cele w module. |
orchestratorOption | Możliwość uruchomienia każdego testu w ramach własnego wywołania instrumentacji za pomocą narzędzia Android Test Orchestrator, czy nie. ** Orchestrator jest kompatybilny tylko z AndroidJUnitRunner w wersji 1.1 lub nowszej! ** Orchestrator oferuje następujące korzyści:
Więcej informacji na temat narzędzia Android Test Orchestrator można znaleźć na stronie https://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator . Jeśli nie zostanie ustawiony, test zostanie uruchomiony bez koordynatora. |
shardingOption | Możliwość równoległego uruchamiania testów w wielu fragmentach. |
Pole Unii app_under_test . Wymagany. app_under_test może mieć tylko jedną z następujących wartości: | |
appApk | Plik APK dla testowanej aplikacji. |
appBundle | Pakiet aplikacji zawierający wiele apków dla testowanej aplikacji. |
Pakiet aplikacji
Format pliku pakietu aplikacji na Androida zawierający plik BundleConfig.pb, katalog modułu podstawowego, zero lub więcej katalogów modułów funkcji dynamicznych.
Zobacz https://developer.android.com/guide/app-bundle/build , aby uzyskać wskazówki dotyczące tworzenia pakietów aplikacji.
Reprezentacja JSON |
---|
{ // Union field |
Pola | |
---|---|
bundle pól Unii. Wymagany. Informacje o lokalizacji pakietu. bundle może być tylko jednym z następujących: | |
bundleLocation | plik .aab reprezentujący testowany pakiet aplikacji. |
Opcja orkiestratora
Określa sposób wykonania testu.
Wyliczenia | |
---|---|
ORCHESTRATOR_OPTION_UNSPECIFIED | Wartość domyślna: serwer wybierze tryb. Obecnie oznacza, że test zostanie uruchomiony bez koordynatora. W przyszłości wszystkie testy oprzyrządowania będą przeprowadzane z udziałem orkiestratora. Zdecydowanie zaleca się korzystanie z programu Orchestrator ze względu na wszystkie oferowane przez niego korzyści. |
USE_ORCHESTRATOR | Uruchom test za pomocą programu Orchestrator. ** Kompatybilny tylko z AndroidJUnitRunner w wersji 1.1 lub wyższej! ** Zalecana. |
DO_NOT_USE_ORCHESTRATOR | Uruchom test bez użycia programu Orchestrator. |
Opcja fragmentowania
Opcje włączania fragmentowania.
Reprezentacja JSON |
---|
{ // Union field |
Pola | |
---|---|
| |
uniformSharding | Jednolicie dzieli przypadki testowe na podstawie całkowitej liczby fragmentów. |
manualSharding | Dzieli przypadki testowe na określone grupy pakietów, klas i/lub metod. |
smartSharding | Test fragmentów na podstawie poprzednich zapisów czasu przypadku testowego. |
Jednolite odłamki
Jednolicie dzieli przypadki testowe na podstawie całkowitej liczby fragmentów.
W przypadku testów oprzyrządowania zostanie on przetłumaczony na argumenty „-e numShard” i „-e shardIndex” AndroidJUnitRunner. Po włączeniu jednolitego fragmentowania określenie któregokolwiek z tych argumentów fragmentowania za pomocą environmentVariables
jest nieprawidłowe.
W oparciu o mechanizm fragmentowania używany przez AndroidJUnitRunner nie ma gwarancji, że przypadki testowe zostaną równomiernie rozłożone we wszystkich fragmentach.
Reprezentacja JSON |
---|
{ "numShards": integer } |
Pola | |
---|---|
numShards | Wymagany. Całkowita liczba fragmentów do utworzenia. Musi to być zawsze liczba dodatnia, która nie jest większa niż całkowita liczba przypadków testowych. Jeśli wybierzesz jedno lub więcej urządzeń fizycznych, liczba fragmentów musi wynosić <= 50. Jeśli wybierzesz jedno lub więcej urządzeń wirtualnych ARM, liczba ta musi wynosić <= 200. Jeśli wybierzesz tylko urządzenia wirtualne x86, liczba ta musi wynosić <= 500 . |
Ręczne fragmentowanie
Dzieli przypadki testowe na określone grupy pakietów, klas i/lub metod.
Po włączeniu ręcznego fragmentowania określanie celów testowych za pomocą zmiennych środowiskowych lub w narzędziu InstrumentationTest jest nieprawidłowe.
Reprezentacja JSON |
---|
{
"testTargetsForShard": [
{
object ( |
Pola | |
---|---|
testTargetsForShard[] | Wymagany. Grupa pakietów, klas i/lub metod testowych do uruchomienia dla każdego ręcznie utworzonego fragmentu. Jeśli to pole jest obecne, musisz określić co najmniej jeden fragment. Jeśli wybierzesz jedno lub więcej urządzeń fizycznych, liczba powtórzonych testówTargetsForShard musi wynosić <= 50. Jeśli wybierzesz jedno lub więcej urządzeń wirtualnych ARM, liczba ta musi wynosić <= 200. Jeśli wybierzesz tylko urządzenia wirtualne x86, liczba ta musi wynosić <= 500. |
TestTargetsForShard
Przetestuj cele pod kątem odłamka.
Reprezentacja JSON |
---|
{ "testTargets": [ string ] } |
Pola | |
---|---|
testTargets[] | Grupa pakietów, klas i/lub metod testowych do uruchomienia dla każdego fragmentu. Elementy docelowe należy określić w formacie argumentu AndroidJUnitRunner. Na przykład „pakiet com.my.packages” „klasa com.my.package.MyClass”. Liczba obiektów testTargets musi być większa niż 0. |
SmartSharding
Test fragmentów na podstawie poprzednich zapisów czasu przypadku testowego.
Reprezentacja JSON |
---|
{ "targetedShardDuration": string } |
Pola | |
---|---|
targetedShardDuration | Ilość czasu, jaką powinny zająć testy w obrębie fragmentu. Domyślnie: 300 sekund (5 minut). Minimalne dozwolone: 120 sekund (2 minuty). Liczba fragmentów jest ustawiana dynamicznie na podstawie czasu, aż do maksymalnego limitu fragmentów (opisanego poniżej). Aby zagwarantować co najmniej jeden przypadek testowy dla każdego fragmentu, liczba fragmentów nie będzie przekraczać liczby przypadków testowych. Czas trwania fragmentu zostanie przekroczony, jeśli:
Czas trwania fragmentu nie jest gwarantowany, ponieważ inteligentne fragmentowanie wykorzystuje historię przypadków testowych i domyślne czasy trwania, które mogą nie być dokładne. Zasady wyszukiwania rekordów czasu przypadku testowego są następujące:
Ponieważ rzeczywisty czas trwania fragmentu może przekraczać docelowy czas trwania fragmentu, zalecamy ustawienie wartości docelowej na co najmniej 5 minut mniej niż maksymalny dozwolony limit czasu testu (45 minut dla urządzeń fizycznych i 60 minut dla urządzeń wirtualnych) lub użycie niestandardowego ustawioną wartość limitu czasu testu. Takie podejście pozwala uniknąć anulowania fragmentu przed zakończeniem wszystkich testów. Należy pamiętać, że istnieje limit maksymalnej liczby fragmentów. Jeśli wybierzesz jedno lub więcej urządzeń fizycznych, liczba fragmentów musi wynosić <= 50. Jeśli wybierzesz jedno lub więcej urządzeń wirtualnych ARM, liczba ta musi wynosić <= 200. Jeśli wybierzesz tylko urządzenia wirtualne x86, liczba ta musi wynosić <= 500 Aby zagwarantować co najmniej jeden przypadek testowy na każdy fragment, liczba fragmentów nie będzie przekraczać liczby przypadków testowych. Każdy utworzony fragment wlicza się do dziennego limitu testów. Czas trwania w sekundach, zawierający maksymalnie dziewięć cyfr ułamkowych, kończący się na „ |
AndroidRoboTest
Test aplikacji na Androida, który eksploruje aplikację na wirtualnym lub fizycznym urządzeniu z Androidem, znajdując winowajców i awarie.
Reprezentacja JSON |
---|
{ "appPackageId": string, "appInitialActivity": string, "maxDepth": integer, "maxSteps": integer, "roboDirectives": [ { object ( |
Pola | |
---|---|
appPackageId | Pakiet Java dla testowanej aplikacji. Wartość domyślna jest określana poprzez sprawdzenie manifestu aplikacji. |
appInitialActivity | Początkowe działanie, które powinno zostać użyte do uruchomienia aplikacji. |
maxDepth | Maksymalna głębokość stosu przechodzenia, który Robo może eksplorować. Musi być ich co najmniej 2, aby Robo mógł eksplorować aplikację poza pierwszą czynnością. Wartość domyślna to 50. |
maxSteps | Maksymalna liczba kroków, które Robo może wykonać. Domyślnie nie ma limitu. |
roboDirectives[] | Zestaw dyrektyw, które Robo powinien zastosować podczas indeksowania. Dzięki temu użytkownicy mogą dostosować indeksowanie. Można na przykład podać nazwę użytkownika i hasło do konta testowego. |
roboMode | Tryb, w którym Robo powinien działać. Większość klientów powinna pozwolić serwerowi na automatyczne wypełnienie tego pola. |
roboScript | Plik JSON z sekwencją działań, które Robo powinien wykonać jako prolog przeszukiwania. |
startingIntents[] | Intencje użyte do uruchomienia aplikacji na potrzeby indeksowania. Jeśli nie podano żadnego, uruchamiane jest główne działanie programu uruchamiającego. Jeśli niektóre są podane, uruchamiane są tylko te, które zostały podane (główna aktywność programu uruchamiającego musi zostać wyraźnie podana). |
Pole Unii app_under_test . Wymagany. app_under_test może mieć tylko jedną z następujących wartości: | |
appApk | Plik APK dla testowanej aplikacji. |
appBundle | Pakiet aplikacji zawierający wiele apków dla testowanej aplikacji. |
Dyrektywa Robo
Kieruje Robo do interakcji z określonym elementem interfejsu użytkownika, jeśli zostanie napotkany podczas przeszukiwania. Obecnie Robo może wykonywać wprowadzanie tekstu lub klikanie elementów.
Reprezentacja JSON |
---|
{
"resourceName": string,
"inputText": string,
"actionType": enum ( |
Pola | |
---|---|
resourceName | Wymagany. Nazwa zasobu Androida docelowego elementu interfejsu użytkownika. Na przykład w Javie: R.string.foo w xml: @string/foo Potrzebna jest tylko część „foo”. Dokument referencyjny: https://developer.Android.com/guide/topics/resources/accessing-resources.html |
inputText | Tekst, do którego ustawienia skierowany jest Robo. Jeśli pozostanie pusta, dyrektywa będzie traktowana jako KLIKNIĘCIE elementu pasującego do nazwy zasobu. |
actionType | Wymagany. Typ akcji, którą Robo powinien wykonać na określonym elemencie. |
Typ RoboAction
Akcje, które Robo może wykonać na elementach interfejsu użytkownika.
Wyliczenia | |
---|---|
ACTION_TYPE_UNSPECIFIED | NIE UŻYWAJ. Tylko dla wersji proto. |
SINGLE_CLICK | Skieruj Robo, aby kliknął określony element. Nie ma opcji, jeśli określonego elementu nie można kliknąć. |
ENTER_TEXT | Poleć Robo, aby wprowadził tekst na określonym elemencie. Brak operacji, jeśli określony element nie jest włączony lub nie pozwala na wprowadzanie tekstu. |
IGNORE | Nakaż Robo ignorować interakcje z konkretnym elementem. |
Tryb Robo
Tryb, w którym Robo powinien działać.
Wyliczenia | |
---|---|
ROBO_MODE_UNSPECIFIED | Oznacza to, że serwer powinien wybrać tryb. Zalecana. |
ROBO_VERSION_1 | Uruchamia Robo w trybie tylko UIAutomator bez rezygnacji z aplikacji |
ROBO_VERSION_2 | Uruchamia Robo w standardowym Espresso z rezerwowym UIAutomatorem |
RoboStartingIntent
Komunikat określający działania początkowe do przeszukiwania.
Reprezentacja JSON |
---|
{ "timeout": string, // Union field |
Pola | |
---|---|
timeout | Limit czasu w sekundach dla każdej intencji. Czas trwania w sekundach, zawierający maksymalnie dziewięć cyfr ułamkowych, kończący się na „ |
Pole Unii starting_intent . Wymagany. Szczegóły zamiaru rozpoczęcia działania. starting_intent może mieć tylko jedną z następujących wartości: | |
launcherActivity | Intencja, która rozpoczyna główną aktywność programu uruchamiającego. |
startActivity | Intencja, która rozpoczyna działanie od określonych szczegółów. |
LauncherActivityIntent
Określa intencję, która rozpoczyna główne działanie programu uruchamiającego.
Rozpocznij działanieIntencja
Początkowy zamiar określony przez akcję, uri i kategorie.
Reprezentacja JSON |
---|
{ "action": string, "uri": string, "categories": [ string ] } |
Pola | |
---|---|
action | Nazwa akcji. Wymagane dla START_ACTIVITY. |
uri | URI akcji. |
categories[] | Kategorie intencji, które można ustawić na podstawie intencji. |
Pętla testowa Androida
Test aplikacji na Androida z pętlą testową. Intencja <intent-name> zostanie domyślnie dodana, ponieważ firma Games jest na razie jedynym użytkownikiem tego interfejsu API.
Reprezentacja JSON |
---|
{ "appPackageId": string, "scenarios": [ integer ], "scenarioLabels": [ string ], // Union field |
Pola | |
---|---|
appPackageId | Pakiet Java dla testowanej aplikacji. Wartość domyślna jest określana poprzez sprawdzenie manifestu aplikacji. |
scenarios[] | Lista scenariuszy, które powinny zostać uruchomione podczas testu. Wartość domyślna to wszystkie pętle testowe pochodzące z manifestu aplikacji. |
scenarioLabels[] | Lista etykiet scenariuszy, które powinny zostać uruchomione podczas testu. Etykiety scenariusza powinny być mapowane na etykiety zdefiniowane w manifeście aplikacji. Na przykład player_experience i com.google.test.loops.player_experience dodają do wykonania wszystkie pętle oznaczone w manifeście nazwą com.google.test.loops.player_experience. Scenariusze można także określić w polu scenariuszy. |
Pole Unii app_under_test . Wymagany. Pakiet Androida do przetestowania. app_under_test może mieć tylko jedną z następujących wartości: | |
appApk | Plik APK dla testowanej aplikacji. |
appBundle | Pakiet aplikacji zawierający wiele apków dla testowanej aplikacji. |
Test IosXc
Test aplikacji iOS wykorzystującej framework XCTest. Xcode obsługuje opcję „kompilacji do testów”, która generuje plik .xctestrun zawierający specyfikację testu (argumenty, metody testowe itp.). Ten typ testu akceptuje plik zip zawierający plik .xctestrun i odpowiednią zawartość katalogu Build/Products, który zawiera wszystkie pliki binarne potrzebne do uruchomienia testów.
Reprezentacja JSON |
---|
{ "testsZip": { object ( |
Pola | |
---|---|
testsZip | Wymagany. Plik .zip zawierający plik .xctestrun i zawartość katalogu DerivedData/Build/Products. Plik .xctestrun w tym zipie jest ignorowany, jeśli określono pole xctestrun. |
xctestrun | Plik .xctestrun, który zastąpi plik .xctestrun w zipie testowym. Ponieważ plik .xctestrun zawiera zmienne środowiskowe wraz z metodami testowymi do uruchomienia i/lub zignorowania, może to być przydatne w przypadku testów fragmentowania. Wartość domyślna jest pobierana z testowego zip. |
xcodeVersion | Wersja Xcode, która powinna być używana w teście. Użyj TestEnvironmentDiscoveryService, aby uzyskać obsługiwane opcje. Domyślnie jest to najnowsza wersja Xcode obsługiwana przez Firebase Test Lab. |
appBundleId | Tylko wyjście. Identyfikator pakietu dla testowanej aplikacji. |
testSpecialEntitlements | Możliwość testowania specjalnych uprawnień aplikacji. Ustawienie tej opcji spowoduje ponowne podpisanie aplikacji ze specjalnymi uprawnieniami za pomocą jawnego identyfikatora aplikacji. Obecnie obsługuje testowanie uprawnień do środowiska aps. |
IosTestLoop
Test aplikacji na iOS, która implementuje jeden lub więcej scenariuszy pętli gry. Ten typ testu akceptuje zarchiwizowaną aplikację (plik .ipa) i listę scenariuszy w postaci liczb całkowitych, które będą sekwencyjnie wykonywane w aplikacji.
Reprezentacja JSON |
---|
{
"appIpa": {
object ( |
Pola | |
---|---|
appIpa | Wymagany. Plik .ipa aplikacji do testowania. |
scenarios[] | Lista scenariuszy, które powinny zostać uruchomione podczas testu. Domyślnie ustawiony jest pojedynczy scenariusz 0, jeśli nie został określony. |
appBundleId | Tylko wyjście. Identyfikator pakietu dla testowanej aplikacji. |
ŚrodowiskoMatrix
Macierz środowisk, w których ma zostać wykonany test.
Reprezentacja JSON |
---|
{ // Union field |
Pola | |
---|---|
Pole Unii environment_matrix . Wymagany. Matryca środowiska. environment_matrix może mieć tylko jedną z następujących wartości: | |
androidMatrix | Matryca urządzeń z Androidem. |
androidDeviceList | Lista urządzeń z Androidem; test zostanie uruchomiony tylko na określonych urządzeniach. |
iosDeviceList | Lista urządzeń iOS. |
AndroidMatrix
Zbiór permutacji konfiguracyjnych urządzeń z systemem Android jest definiowany przez iloczyn danych osi. Wewnętrznie dany AndroidMatrix zostanie rozszerzony na zestaw AndroidDevices.
Utworzone zostaną tylko obsługiwane permutacje. Nieprawidłowe permutacje (np. niezgodne modele/wersje) są ignorowane.
Reprezentacja JSON |
---|
{ "androidModelIds": [ string ], "androidVersionIds": [ string ], "locales": [ string ], "orientations": [ string ] } |
Pola | |
---|---|
androidModelIds[] | Wymagany. Identyfikator zestawu urządzeń z systemem Android, który ma być używany. Użyj TestEnvironmentDiscoveryService, aby uzyskać obsługiwane opcje. |
androidVersionIds[] | Wymagany. Identyfikator zestawu wersji systemu operacyjnego Android, który ma być używany. Użyj TestEnvironmentDiscoveryService, aby uzyskać obsługiwane opcje. |
locales[] | Wymagany. Zestaw ustawień regionalnych, które urządzenie testowe umożliwi do testowania. Użyj TestEnvironmentDiscoveryService, aby uzyskać obsługiwane opcje. |
orientations[] | Wymagany. Zestaw orientacji do przetestowania. Użyj TestEnvironmentDiscoveryService, aby uzyskać obsługiwane opcje. |
Lista urządzeń z Androidem
Lista konfiguracji urządzeń z systemem Android, w których ma zostać wykonany test.
Reprezentacja JSON |
---|
{
"androidDevices": [
{
object ( |
Pola | |
---|---|
androidDevices[] | Wymagany. Lista urządzeń z Androidem. |
Urządzenie z Androidem
Pojedyncze urządzenie z Androidem.
Reprezentacja JSON |
---|
{ "androidModelId": string, "androidVersionId": string, "locale": string, "orientation": string } |
Pola | |
---|---|
androidModelId | Wymagany. Identyfikator urządzenia z Androidem, którego chcesz użyć. Użyj TestEnvironmentDiscoveryService, aby uzyskać obsługiwane opcje. |
androidVersionId | Wymagany. Identyfikator wersji systemu operacyjnego Android, która ma być używana. Użyj TestEnvironmentDiscoveryService, aby uzyskać obsługiwane opcje. |
locale | Wymagany. Ustawienia regionalne urządzenia testowego używanego do testowania. Użyj TestEnvironmentDiscoveryService, aby uzyskać obsługiwane opcje. |
orientation | Wymagany. Jak urządzenie jest zorientowane podczas testu. Użyj TestEnvironmentDiscoveryService, aby uzyskać obsługiwane opcje. |
Lista urządzeń iOS
Lista konfiguracji urządzeń iOS, w których ma zostać wykonany test.
Reprezentacja JSON |
---|
{
"iosDevices": [
{
object ( |
Pola | |
---|---|
iosDevices[] | Wymagany. Lista urządzeń iOS. |
Urządzenie iOS
Pojedyncze urządzenie z systemem iOS.
Reprezentacja JSON |
---|
{ "iosModelId": string, "iosVersionId": string, "locale": string, "orientation": string } |
Pola | |
---|---|
iosModelId | Wymagany. Identyfikator urządzenia iOS, którego chcesz użyć. Użyj TestEnvironmentDiscoveryService, aby uzyskać obsługiwane opcje. |
iosVersionId | Wymagany. Identyfikator głównej wersji oprogramowania iOS, która ma być używana. Użyj TestEnvironmentDiscoveryService, aby uzyskać obsługiwane opcje. |
locale | Wymagany. Ustawienia regionalne urządzenia testowego używanego do testowania. Użyj TestEnvironmentDiscoveryService, aby uzyskać obsługiwane opcje. |
orientation | Wymagany. Jak urządzenie jest zorientowane podczas testu. Użyj TestEnvironmentDiscoveryService, aby uzyskać obsługiwane opcje. |
Wykonanie testu
Pojedynczy test wykonywany w jednym środowisku.
Reprezentacja JSON |
---|
{ "id": string, "matrixId": string, "projectId": string, "testSpecification": { object ( |
Pola | |
---|---|
id | Tylko wyjście. Unikalny identyfikator ustawiony przez usługę. |
matrixId | Tylko wyjście. Identyfikator zawierającego TestMatrix. |
projectId | Tylko wyjście. Projekt w chmurze, który jest właścicielem wykonania testu. |
testSpecification | Tylko wyjście. Jak uruchomić test. |
shard | Tylko wyjście. Szczegóły dotyczące odłamka. |
environment | Tylko wyjście. Jak skonfigurowane są komputery-hosty. |
state | Tylko wyjście. Wskazuje bieżący postęp wykonywania testu (np. ZAKOŃCZONO). |
toolResultsStep | Tylko wyjście. Gdzie zapisywane są wyniki tego wykonania. |
timestamp | Tylko wyjście. Godzina początkowego utworzenia wykonania testu. Znacznik czasu w formacie RFC3339 UTC „Zulu”, z rozdzielczością nanosekundową i maksymalnie dziewięcioma cyframi ułamkowymi. Przykłady: |
testDetails | Tylko wyjście. Dodatkowe szczegóły dotyczące testu działania. |
Czerep
Tylko wyjście. Szczegóły dotyczące odłamka.
Reprezentacja JSON |
---|
{
"shardIndex": integer,
"numShards": integer,
"testTargetsForShard": {
object ( |
Pola | |
---|---|
shardIndex | Tylko wyjście. Indeks fragmentu wśród wszystkich fragmentów. |
numShards | Tylko wyjście. Całkowita liczba fragmentów. |
testTargetsForShard | Tylko wyjście. Przetestuj cele dla każdego fragmentu. Ustawiony tylko do ręcznego fragmentowania. |
estimatedShardDuration | Tylko wyjście. Szacowany czas trwania fragmentu na podstawie zapisów czasu z poprzednich przypadków testowych, jeśli są dostępne. Czas trwania w sekundach, zawierający maksymalnie dziewięć cyfr ułamkowych, kończący się na „ |
Środowisko
Środowisko, w którym uruchamiany jest test.
Reprezentacja JSON |
---|
{ // Union field |
Pola | |
---|---|
environment terenowe Unii. Wymagany. Środowisko. environment może być tylko jednym z następujących: | |
androidDevice | Urządzenie z Androidem, którego należy używać z testem Androida. |
iosDevice | Urządzenie z systemem iOS, którego należy używać podczas testu systemu iOS. |
Stan testu
Stan (tj. postęp) wykonania testu lub macierzy.
Wyliczenia | |
---|---|
TEST_STATE_UNSPECIFIED | Nie używaj. Tylko dla wersji proto. |
VALIDATING | Trwa sprawdzanie wykonania lub macierzy. |
PENDING | Wykonanie lub macierz oczekuje na udostępnienie zasobów. |
RUNNING | Egzekucja jest aktualnie przetwarzana. Można ustawić tylko w wykonaniu. |
FINISHED | Wykonanie lub macierz zakończyło się normalnie. Na macierzy oznacza to, że przetwarzanie na poziomie macierzy zakończyło się normalnie, ale poszczególne wykonania mogą znajdować się w stanie BŁĄD. |
ERROR | Wykonywanie lub macierz została zatrzymana, ponieważ napotkała awarię infrastruktury. |
UNSUPPORTED_ENVIRONMENT | Wykonanie nie zostało wykonane, ponieważ odpowiada nieobsługiwanemu środowisku. Można ustawić tylko w wykonaniu. |
INCOMPATIBLE_ENVIRONMENT | Wykonanie nie zostało wykonane, ponieważ podane dane wejściowe są niezgodne z żądanym środowiskiem. Przykład: żądana wersja Androida jest niższa niż minSdkVersion pliku APK Można ustawić tylko w wykonaniu. |
INCOMPATIBLE_ARCHITECTURE | Wykonanie nie zostało wykonane, ponieważ podane dane wejściowe są niezgodne z żądaną architekturą. Przykład: żądane urządzenie nie obsługuje uruchamiania kodu natywnego w dostarczonym pliku APK Można ustawić tylko w wykonaniu. |
CANCELLED | Użytkownik anulował wykonanie. Można ustawić tylko w wykonaniu. |
INVALID | Wykonanie lub macierz nie zostały uruchomione, ponieważ podane dane wejściowe są nieprawidłowe. Przykłady: plik wejściowy nie jest oczekiwanego typu, jest zniekształcony/uszkodzony lub został oznaczony jako złośliwe oprogramowanie |
NarzędzieWynikiKrok
Reprezentuje zasób kroku wyników narzędzia.
Ma to wyniki TestExecution.
Reprezentacja JSON |
---|
{ "projectId": string, "historyId": string, "executionId": string, "stepId": string } |
Pola | |
---|---|
projectId | Tylko wyjście. Projekt w chmurze, który jest właścicielem kroku wyników narzędzia. |
historyId | Tylko wyjście. Identyfikator historii wyników narzędzia. |
executionId | Tylko wyjście. Identyfikator wykonania wyniku narzędzia. |
stepId | Tylko wyjście. Identyfikator kroku wyników narzędzia. |
Szczegóły testu
Dodatkowe szczegóły dotyczące postępu testu biegowego.
Reprezentacja JSON |
---|
{ "progressMessages": [ string ], "errorMessage": string } |
Pola | |
---|---|
progressMessages[] | Tylko wyjście. Czytelne dla człowieka, szczegółowe opisy postępu testu. Na przykład: „Udostępnianie urządzenia”, „Rozpoczęcie testu”. W trakcie realizacji nowe dane mogą zostać dodane na końcu komunikatów o postępie. |
errorMessage | Tylko wyjście. Jeśli TestState ma wartość ERROR, wówczas ten ciąg będzie zawierał czytelne dla człowieka szczegóły dotyczące błędu. |
Przechowywanie wyników
Lokalizacje, w których przechowywane są wyniki uruchomienia testu.
Reprezentacja JSON |
---|
{ "googleCloudStorage": { object ( |
Pola | |
---|---|
googleCloudStorage | Wymagany. |
toolResultsHistory | Historia wyników narzędzia zawierająca wykonanie wyników narzędzia, do którego zapisywane są wyniki. Jeżeli nie zostanie podany, serwis wybierze odpowiednią wartość. |
toolResultsExecution | Tylko wyjście. Wykonanie wyników narzędzia, do którego zapisywane są wyniki. |
resultsUrl | Tylko wyjście. Adres URL wyników w konsoli internetowej Firebase. |
Magazyn GoogleCloud
Lokalizacja przechowywania w chmurze Google (GCS).
Reprezentacja JSON |
---|
{ "gcsPath": string } |
Pola | |
---|---|
gcsPath | Wymagany. Ścieżka do katalogu w GCS, który ostatecznie będzie zawierał wyniki tego testu. Użytkownik żądający musi mieć uprawnienia do zapisu w zasobniku w podanej ścieżce. |
Historia narzędziWyniki
Reprezentuje zasób historii wyników narzędzia.
Reprezentacja JSON |
---|
{ "projectId": string, "historyId": string } |
Pola | |
---|---|
projectId | Wymagany. Projekt w chmurze będący właścicielem historii wyników narzędzia. |
historyId | Wymagany. Identyfikator historii wyników narzędzia. |
Wykonanie ToolResults
Reprezentuje zasób wykonania wyników narzędzia.
Ma to wyniki TestMatrix.
Reprezentacja JSON |
---|
{ "projectId": string, "historyId": string, "executionId": string } |
Pola | |
---|---|
projectId | Tylko wyjście. Projekt w chmurze będący właścicielem narzędzia powoduje wykonanie. |
historyId | Tylko wyjście. Identyfikator historii wyników narzędzia. |
executionId | Tylko wyjście. Identyfikator wykonania wyniku narzędzia. |
Nieprawidłowe szczegóły macierzy
Szczegółowy powód uznania macierzy za NIEWAŻNĄ.
Wyliczenia | |
---|---|
INVALID_MATRIX_DETAILS_UNSPECIFIED | Nie używaj. Tylko dla wersji proto. |
DETAILS_UNAVAILABLE | Macierz jest NIEPRAWIDŁOWA, ale nie są dostępne żadne dalsze szczegóły. |
MALFORMED_APK | Nie można przeanalizować pliku APK aplikacji wejściowej. |
MALFORMED_TEST_APK | Nie można przeanalizować wejściowego pliku APK testu. |
NO_MANIFEST | Nie można znaleźć pliku AndroidManifest.xml. |
NO_PACKAGE_NAME | Manifest APK nie deklaruje nazwy pakietu. |
INVALID_PACKAGE_NAME | Identyfikator aplikacji APK (inaczej nazwa pakietu) jest nieprawidłowy. Zobacz także https://developer.Android.com/build/configure-app-module#set-application-id |
TEST_SAME_AS_APP | Pakiet testowy i pakiet aplikacji są takie same. |
NO_INSTRUMENTATION | Aplikacja testowa nie deklaruje oprzyrządowania. |
NO_SIGNATURE | Aplikacja wejściowa aplikacji nie ma podpisu. |
INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE | Klasa modułu uruchamiającego test określona przez użytkownika lub w pliku manifestu testowego pliku APK nie jest kompatybilna z Android Test Orchestrator. Orchestrator jest kompatybilny tylko z AndroidJUnitRunner w wersji 1.1 lub nowszej. Program Orchestrator można wyłączyć za pomocą opcji DO_NOT_USE_ORCHESTRATOR OrchestratorOption. |
NO_TEST_RUNNER_CLASS | Testowy plik APK nie zawiera klasy modułu uruchamiającego test określonej przez użytkownika ani w pliku manifestu. Może to być spowodowane jedną z następujących przyczyn:
|
NO_LAUNCHER_ACTIVITY | Nie można znaleźć głównej aktywności programu uruchamiającego. |
FORBIDDEN_PERMISSIONS | Aplikacja deklaruje jedno lub więcej uprawnień, które są niedozwolone. |
INVALID_ROBO_DIRECTIVES | Wystąpił konflikt w dostarczonych dyrektywach roboDirective. |
INVALID_RESOURCE_NAME | W podanych dyrektywach robo znajduje się co najmniej jedna nieprawidłowa nazwa zasobu |
INVALID_DIRECTIVE_ACTION | Nieprawidłowa definicja akcji w dyrektywach robo (np. akcja kliknięcia lub zignorowania zawiera pole tekstu wejściowego) |
TEST_LOOP_INTENT_FILTER_NOT_FOUND | Nie ma filtra intencji pętli testowej lub podany jest niepoprawnie sformatowany. |
SCENARIO_LABEL_NOT_DECLARED | Żądanie zawiera etykietę scenariusza, która nie została zadeklarowana w manifeście. |
SCENARIO_LABEL_MALFORMED | Wystąpił błąd podczas analizowania wartości etykiety. |
SCENARIO_NOT_DECLARED | Żądanie zawiera numer scenariusza, który nie został zadeklarowany w manifeście. |
DEVICE_ADMIN_RECEIVER | Aplikacje administratora urządzenia są niedozwolone. |
MALFORMED_XC_TEST_ZIP | Spakowany plik XCTest był zniekształcony. Zip nie zawierał ani jednego pliku .xctestrun ani zawartości katalogu DerivedData/Build/Products. |
BUILT_FOR_IOS_SIMULATOR | Spakowany XCTest został zbudowany dla symulatora iOS, a nie dla urządzenia fizycznego. |
NO_TESTS_IN_XC_TEST_ZIP | Plik .xctestrun nie określił żadnych celów testowych. |
USE_DESTINATION_ARTIFACTS | Co najmniej jeden z celów testowych zdefiniowanych w pliku .xctestrun określa „UseDestinationArtifacts”, co jest niedozwolone. |
TEST_NOT_APP_HOSTED | Testy XC uruchamiane na urządzeniach fizycznych muszą mieć wartość „IsAppHostedTestBundle” == „true” w pliku xctestrun. |
PLIST_CANNOT_BE_PARSED | Nie można przeanalizować pliku Info.plist w pliku zip XCTest. |
TEST_ONLY_APK | Plik APK jest oznaczony jako „testOnly”. Przestarzałe i obecnie nie używane. |
MALFORMED_IPA | Nie można przeanalizować wejściowego IPA. |
MISSING_URL_SCHEME | Aplikacja nie rejestruje schematu adresu URL pętli gry. |
MALFORMED_APP_BUNDLE | Nie można przetworzyć pakietu aplikacji na iOS (.app). |
NO_CODE_APK | APK nie zawiera kodu. Zobacz także https://developer.Android.com/guide/topics/manifest/application-element.html#code |
INVALID_INPUT_APK | Albo podana ścieżka wejściowa pliku APK była zniekształcona, plik APK nie istnieje lub użytkownik nie ma uprawnień dostępu do pliku APK. |
INVALID_APK_PREVIEW_SDK | Plik APK jest przeznaczony dla wersji zapoznawczej SDK, która nie jest obsługiwana |
MATRIX_TOO_LARGE | Macierz rozwinęła się i zawierała zbyt wiele wykonań. |
TEST_QUOTA_EXCEEDED | Za mało przydziału testów, aby uruchomić wykonania w tej macierzy. |
SERVICE_NOT_ACTIVATED | Wymagany interfejs API usługi w chmurze nie jest aktywowany. Zobacz: https://firebase.google.com/docs/test-lab/android/continuous#requirements |
UNKNOWN_PERMISSION_ERROR | Podczas wykonywania tego testu wystąpił nieznany problem z uprawnieniami. |
Podsumowanie wyników
Podsumowanie wyników gotowej matrycy testowej.
Wyliczenia | |
---|---|
OUTCOME_SUMMARY_UNSPECIFIED | Nie używaj. Tylko dla wersji proto. |
SUCCESS | Uruchomienie macierzy testowej zakończyło się sukcesem, na przykład:
|
FAILURE | Uruchomienie nie powiodło się, na przykład:
|
INCONCLUSIVE | Stało się coś nieoczekiwanego. Przebieg nadal należy uznać za zakończony niepowodzeniem, jednak jest to prawdopodobnie problem przejściowy i ponowne uruchomienie testu może zakończyć się pomyślnie. |
SKIPPED | Pominięto wszystkie testy, na przykład:
|
Metody | |
---|---|
| Anuluje niedokończone wykonania testów w macierzy testów. |
| Tworzy i uruchamia macierz testów zgodnie z zadaną specyfikacją. |
| Sprawdza status macierzy testowej i wykonań po ich utworzeniu. |