W tym przewodniku opisano, jak przeprowadzić test XCTest lub Game Loop przy użyciu interfejsu wiersza polecenia gcloud.
Krok 1 : Skonfiguruj lokalne środowisko Google Cloud SDK
- Pobierz pakiet Google Cloud SDK.
- Upewnij się, że instalacja jest aktualna i zawiera polecenie
gcloud firebase
:gcloud components update
- Zaloguj się do interfejsu wiersza polecenia gcloud, używając swojego konta Google:
gcloud auth login
- Ustaw projekt Firebase w gcloud, gdzie PROJECT_ID to identyfikator Twojego projektu Firebase:
gcloud config set project PROJECT_ID
Obejmuje to narzędzie gcloud CLI.
Krok 2 : Przeprowadź test
Przeprowadź XCTest
Prześlij plik .zip z testem, uruchamiając następujące polecenie (jeśli nie masz jeszcze spakowanej aplikacji, zobacz Pakowanie XCTest ):
cd FOLDER_WITH_TEST_OUTPUT/Build/Products ; \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
Wybierz wymiary testowe.
Test Lab umożliwia uruchamianie testów na różnych wersjach iOS, urządzeniach, orientacjach ekranu i ustawieniach regionalnych. Te konfiguracje są znane jako wymiary testowe testu . Aby zobaczyć opcje dla każdego wymiaru (np. Obsługiwane wersje Xcode dla wersji iOS urządzenia), zamień
models
,versions
lub ustawienialocales
dladimension
w następującym poleceniu:gcloud firebase test ios dimension list
Orientacja ekranu jest nieco prostsza, ponieważ jedyne opcje to
portrait
ilandscape
.Przejrzyj listę wymiarów testowych i wybierz kilka kombinacji, dla których chcesz przeprowadzić test. Odwiedź Plany cenowe, aby zobaczyć maksymalną liczbę kombinacji, które możesz uruchomić dziennie.
Po wybraniu zestawu wymiarów testowych możesz zlecić Laboratorium testowe wykonanie testów za pomocą polecenia
firebase test ios run
. Dla każdej kombinacji wymiarów testowych, na których chcesz testować,--device
osobną flagę--device
:gcloud firebase test ios run --test PATH/TO/MyTests.zip \ --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \ --device model=MODEL_ID_2,version=VERSION_ID_2,locale=LOCALE_2,orientation=ORIENTATION_2 \ etc...
Możliwe, że Twój test zakończy się niepowodzeniem z powodu niezgodności między wersją Xcode, z którą test został zbudowany, a domyślną wersją Xcode używaną przez Test Lab. Aby określić obsługiwaną wersję Xcode dla testu, użyj flagi
--xcode-version
:gcloud firebase test ios run --test PATH/TO/MyTests.zip \ --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \ --xcode-version=11.3
Uruchom test pętli gry
Uruchom polecenie gcloud beta firebase test ios run
na gcloud beta firebase test ios run
i skonfiguruj uruchomienie przy użyciu następujących flag:
Flagi do testów pętli gry | |
---|---|
--type | Wymagane : określa typ testu iOS, który chcesz uruchomić. Możesz wprowadzić typy testów |
--app | Wymagane : bezwzględna ścieżka (GCS lub system plików) do pliku IPA Twojej aplikacji. Ta flaga jest ważna tylko podczas uruchamiania testów pętli gry. |
--scenario-numbers | Pętle (inaczej scenariusze), które chcesz uruchomić w swojej aplikacji. Możesz wprowadzić jedną pętlę, listę lub pętle lub zakres pętli. Domyślna pętla to 1. Na przykład |
--device-model | Fizyczne urządzenie, na którym chcesz przeprowadzić test (dowiedz się, z jakich dostępnych urządzeń możesz korzystać). |
--timeout | Maksymalny czas trwania testu. Możesz wprowadzić liczbę całkowitą, która reprezentuje czas trwania w sekundach, lub liczbę całkowitą i wyliczenie, aby przedstawić czas trwania jako dłuższą jednostkę czasu. Na przykład:
|
Na przykład następujące polecenie uruchamia test pętli gry, który wykonuje pętle 1, 4, 6, 7 i 8 na telefonie iPhone 8 Plus:
gcloud beta firebase test ios run --type game-loop --app path/to/my/App.ipa --scenario-numbers 1,4,6-8 --device-model=iphone8plus
Więcej informacji na temat interfejsu wiersza polecenia gcloud można znaleźć w dokumentacji referencyjnej .
Krok 4 (opcjonalny) . Zautomatyzuj tworzone w przyszłości testy
Tworzenie skryptów poleceń gcloud za pomocą Test Lab
Możesz użyć skryptów powłoki lub plików wsadowych, aby zautomatyzować polecenia testowania aplikacji mobilnych, które w innym przypadku byłyby uruchamiane za pomocą wiersza poleceń gcloud. Ten przykładowy skrypt bash uruchamia XCTest z dwuminutowym limitem czasu i raportuje, czy uruchomienie testowe zakończyło się pomyślnie:
if gcloud firebase test ios run --test MyTest.zip --timeout 2m then echo "Test matrix successfully finished" else echo "Test matrix exited abnormally with non-zero exit code: " $? fi
Kody wyjścia skryptów
Test Lab udostępnia kilka kodów zakończenia, których można użyć do lepszego zrozumienia wyników testów wykonywanych za pomocą skryptów lub plików wsadowych.
Kod zakończenia | Uwagi |
---|---|
0 | Wszystkie testy przeszły pomyślnie. |
1 | Wystąpiła ogólna awaria. Możliwe przyczyny to: nazwa pliku, który nie istnieje lub błąd HTTP / sieciowy. |
2 | Testowanie zakończyło się, ponieważ podano nieznane polecenia lub argumenty. |
10 | Co najmniej jeden przypadek testowy (testowane klasy lub metody klas) w ramach wykonania testu nie przeszedł pomyślnie. |
15 | Laboratorium Firebase nie mogło określić, czy macierz testów przeszła pomyślnie, czy nie powiodła się z powodu nieoczekiwanego błędu. |
19 | Matryca testowa została anulowana przez użytkownika. |
20 | Wystąpił błąd infrastruktury testowej. |
Krok 5 : Zbadaj wyniki testu
Po rozpoczęciu testu otrzymasz łącze do strony z wynikami testu . Uruchomienie testów może zająć kilka minut, w zależności od liczby różnych wybranych konfiguracji i limitu czasu testu ustawionego dla testów. Po zakończeniu testów możesz przejrzeć wyniki testów. Więcej informacji o interpretowaniu wyników testów znajdziesz w artykule Analiza wyników laboratorium Firebase .
Następny krok
Przeczytaj dokumentację Google Cloud SDK, aby poznać opcje testowania, które są ogólnie dostępne lub w wersji beta .