Google 致力于为黑人社区推动种族平等。查看具体举措
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Przetestuj za pomocą interfejsu wiersza polecenia gcloud

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

  1. Pobierz pakiet Google Cloud SDK.
  2. Obejmuje to narzędzie gcloud CLI.

  3. Upewnij się, że instalacja jest aktualna i zawiera polecenie gcloud firebase :
          gcloud components update
  4. Zaloguj się do interfejsu wiersza polecenia gcloud, używając swojego konta Google:
          gcloud auth login
  5. Ustaw projekt Firebase w gcloud, gdzie PROJECT_ID to identyfikator Twojego projektu Firebase:
         gcloud config set project PROJECT_ID

Krok 2 : Przeprowadź test

Przeprowadź XCTest

  1. 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
  2. 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 ustawienia locales dla dimension w następującym poleceniu:

    gcloud firebase test ios dimension list

    Orientacja ekranu jest nieco prostsza, ponieważ jedyne opcje to portrait i landscape .

    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.

  3. 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 xctest (domyślne) lub game-loop .

--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 --scenario-numbers=1-3,5 uruchamia pętle 1, 2, 3 i 5.

--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:

  • --timeout=200 wymusza zakończenie testu, jeśli trwa do 200 sekund.
  • --timeout=1h wymusza zakończenie testu, jeśli trwa do godziny.

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 .