Z tego przewodnika dowiesz się, jak uruchomić test XCTest lub test pętli gry za pomocą gcloud CLI.
Krok 1. Skonfiguruj lokalne środowisko pakietu SDK Google Cloud
- Pobierz Google Cloud SDK.
- Upewnij się, że instalacja jest aktualna i zawiera polecenie gcloud firebase:gcloud components update
- Zaloguj się w gcloud CLI za pomocą konta Google:
    gcloud auth login
- Ustaw projekt Firebase w gcloud, gdzie PROJECT_ID to identyfikator 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 to polecenie (jeśli nie masz jeszcze spakowanej aplikacji, zapoznaj się z sekcją Pakowanie XCTest): - cd FOLDER_WITH_TEST_OUTPUT/Build/Products ; \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun 
- Wybierz wymiary testu. - Test Lab umożliwia przeprowadzanie testów na różnych wersjach iOS, urządzeniach, orientacjach ekranu i w różnych językach. Te konfiguracje są nazywane wymiarami testu. Aby wyświetlić opcje każdego wymiaru (np. obsługiwane wersje Xcode dla wersji iOS urządzenia), w tym poleceniu zastąp - models,- versionslub- localesznakiem- dimension:- gcloud firebase test ios dimension list - Orientacja ekranu jest nieco prostsza, ponieważ ma tylko 2 opcje: - portraiti- landscape.- Przejrzyj listę wymiarów testu i wybierz kilka kombinacji, w których chcesz przeprowadzić test. Na stronie Plany cenowe znajdziesz maksymalną liczbę kombinacji, które możesz uruchamiać dziennie. 
- Po wybraniu zestawu wymiarów testu możesz uruchomić testy za pomocą polecenia - firebase test ios run.Test Lab W przypadku każdej kombinacji wymiarów testu, którą chcesz przetestować, dodaj osobne oznaczenie- --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... - Test może się nie powieść z powodu niezgodności między wersją Xcode, w której został utworzony, a domyślną wersją Xcode używaną przez Test Lab. Aby określić obsługiwaną wersję Xcode na potrzeby 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=15 - Aby ułatwić identyfikowanie i lokalizowanie macierzy testowych w konsoli Firebase, możesz opcjonalnie oznaczyć macierz testową za pomocą flagi - --client-details matrixLabel="<label>"w tym przykładzie:- gcloud beta firebase test ios run --test PATH/TO/MyTests.zip \ --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \ --client-details matrixLabel="my label" 
Testowanie uprawnień specjalnych
Aby przetestować uprawnienia, które wymagają jawnego identyfikatora aplikacji, możesz ustawić flagę --test-special-entitlements. Test Lab
      ponownie podpisuje aplikację nowym identyfikatorem pakietu, aby obsługiwać specjalne uprawnienia. Upewnij się, że w pliku ZIP nie ma zasobów zawierających bezpośrednie odwołania do identyfikatora pakietu aplikacji.
    
- Powiadomienia push apns-environment
- Osobista sieć VPN
          com.apple.developer.networking.vpn.api
Aby autoryzować żądania powiadomień push, użytkownicy mogą tworzyć tokeny sieciowe JSON za pomocą prywatnego klucza podpisywania oraz identyfikatora klucza – C7FD9DJAA8 i identyfikatora zespołu – 9CKCGNNUQN. Wygenerowane tokeny będą ważne przez godzinę i trzeba je odświeżać co 60 minut. Więcej informacji znajdziesz w artykule Nawiązywanie połączenia z APNs na podstawie tokena.
Grupy aplikacjiIdentyfikatory grup aplikacji są unikalne w skali globalnej. Oznacza to, że podczas ponownego podpisywania aplikacji użytkowników możemy używać tylko identyfikatora grupy aplikacji powiązanego z Test Lab kontem dewelopera. Jeśli test opiera się na grupach aplikacji, zakończy się niepowodzeniem.
Przeprowadź test pętli gry
Uruchom polecenie gcloud beta firebase test ios run i skonfiguruj uruchomienie za pomocą tych flag:
| Flagi testów pętli gry | |
|---|---|
| --type | Wymagany: określa typ testu na iOS, który chcesz przeprowadzić. Możesz wpisać typy testów  | 
| --app | Wymagane: ścieżka bezwzględna (GCS lub system plików) do pliku IPA aplikacji. Ten flag jest prawidłowy tylko podczas przeprowadzania testów pętli gry. | 
| --scenario-numbers | Pętle (czyli scenariusze), które chcesz uruchomić w aplikacji. Możesz wpisać jedną pętlę, listę pętli lub zakres pętli. Domyślna liczba pętli to 1. 
            Na przykład  | 
| --device-model | Urządzenie fizyczne, na którym chcesz przeprowadzić test (sprawdź, które dostępne urządzenia możesz wykorzystać). | 
| --timeout | Maksymalny czas trwania testu. Możesz wpisać liczbę całkowitą, która będzie oznaczać czas trwania w sekundach, lub liczbę całkowitą i wyliczenie, które będą oznaczać czas trwania w dłuższej jednostce czasu. Przykład: 
 | 
Na przykład to polecenie przeprowadza test pętli gry, który wykonuje pętle 1, 4, 6, 7 i 8 na iPhonie 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 o interfejsie wiersza poleceń gcloud znajdziesz w dokumentacji.
Krok 3. (Opcjonalnie) Zautomatyzuj przyszłe testy
Tworzenie skryptów poleceń gcloud za pomocą Test Lab
Możesz używać skryptów powłoki lub plików wsadowych do automatyzowania poleceń testowania aplikacji mobilnych, które w inny sposób uruchamiasz za pomocą wiersza poleceń gcloud. Ten przykładowy skrypt bash uruchamia test XCTest z 2-minutowym czasem oczekiwania i informuje, czy test zakończył 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 skryptu
Test Lab udostępnia kilka kodów zakończenia, które pomagają lepiej zrozumieć wyniki testów przeprowadzanych za pomocą skryptów lub plików wsadowych.
| Kod wyjścia | Uwagi | 
|---|---|
| 0 | Wszystkie wykonania testu zostały zaliczone. | 
| 1 | Wystąpił błąd ogólny. Możliwe przyczyny to nieistniejąca nazwa pliku lub błąd HTTP/sieci. | 
| 2 | Testowanie zostało zakończone, ponieważ podano nieznane polecenia lub argumenty. | 
| 10 | Co najmniej 1 przypadek testowy (testowane klasy lub metody klas) w wykonaniu testu nie został zaliczony. | 
| 15 | Nie udało się ustalić, czy macierz testowa została zaliczona, czy nie, z powodu nieoczekiwanego błędu.Firebase Test Lab | 
| 19 | Użytkownik anulował macierz testową. | 
| 20 | Wystąpił błąd infrastruktury testowej. | 
Krok 4. Sprawdź wyniki testu
Po rozpoczęciu testu otrzymasz link do strony Wyniki testu. Przeprowadzenie testów może zająć kilka minut w zależności od liczby wybranych konfiguracji i czasu oczekiwania na wynik testu. Po przeprowadzeniu testów możesz sprawdzić ich wyniki. Więcej informacji o interpretowaniu wyników testu znajdziesz w sekcji Analizowanie wyników.Firebase Test Lab
Następny krok
Zapoznaj się z dokumentacją pakietu SDK Google Cloud, aby poznać opcje testowania, które są ogólnodostępne lub w wersji beta.