Z tego przewodnika dowiesz się, jak przeprowadzić test XCTest lub pętli gry za pomocą gcloud. interfejs wiersza poleceń.
Krok 1. Skonfiguruj lokalne środowisko pakietu SDK Google Cloud
- Pobierz pakiet Google Cloud SDK.
- Sprawdź, czy Twoja instalacja jest aktualna i zawiera
polecenie
gcloud firebase
:gcloud components update
- Zaloguj się w interfejsie wiersza poleceń gcloud 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 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 aplikacji w pakiecie, zobacz SPakowanie 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 przeprowadzanie testów na różnych wersjach iOS, urządzeniach i na różnych urządzeniach orientacji i regionów. Są to tzw. konfiguracje testowe wymiarów testowych. Aby wyświetlić opcje każdego wymiaru (np. obsługiwane wersje Xcode dla wersji iOS na urządzeniu), zastąp
models
,versions
lublocales
w przypadkudimension
w tym poleceniu:gcloud firebase test ios dimension list
Orientacja ekranu jest nieco prostsza, ponieważ dostępne są tylko opcje
portrait
ilandscape
Przejrzyj listę wymiarów testu i wybierz kilka kombinacji, które chcesz przetestować. Aby poznać maksymalną liczbę kombinacji, które możesz uruchamiać dziennie, otwórz Plany cenowe.
Po wybraniu zestawu wymiarów testu możesz uruchomić Test Lab testy za pomocą polecenia
firebase test ios run
. Dla każdej wartości kombinację wymiarów testowych, które chcesz przetestować, dodaj 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 test się nie powiedzie z powodu niezgodności między wersją Xcode w którym skompilowano test i 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 pomóc w zidentyfikowaniu i zlokalizowaniu macierzy testów w Firebase, możesz opcjonalnie oznaczyć tablicę testową za pomocą atrybutu
--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 specjalnych uprawnień
Aby przetestować uprawnienia, które wymagają wyraźnego identyfikatora aplikacji, możesz to zrobić:
ustawienie flagi --test-special-entitlements
. Test Lab
ponownie podpisuje aplikację nowym identyfikatorem pakietu, aby obsługiwać specjalne
uprawnień, więc upewnij się, że plik ZIP nie zawiera żadnych zasobów
które zawierają bezpośrednie odwołania do identyfikatora pakietu aplikacji.
- Powiadomienia push
apns-environment
- Osobista sieć VPN
com.apple.developer.networking.vpn.api
Na potrzeby autoryzacji żądań powiadomień push użytkownicy mogą tworzyć internetowe pliki JSON tokeny prywatne klucz podpisywania razem z identyfikatorem klucza C7FD9DJAA8 oraz identyfikatorem zespołu – 9CKCGNNUQN Wygenerowane tokeny będą ważne dla jednego musi być odświeżana co 60 minut; Przeczytaj więcej na: Nawiązywanie połączenia opartego na tokenach z APNs.
Grupy aplikacjiIdentyfikatory grup aplikacji są unikalne globalnie. Oznacza to, że gdy ponownie podpisać aplikacje użytkowników, możemy użyć tylko identyfikatora grupy aplikacji, który jest powiązane z kontem dewelopera w usłudze Test Lab. Jeśli test wymaga na grupach aplikacji, test się nie powiedzie.
Przeprowadź test pętli gry
Uruchom polecenie gcloud beta firebase test ios run
i użyj tego
flagi w celu skonfigurowania uruchomienia:
Flagi testów pętli gry | |
---|---|
--type
|
Wymagane: określa typ testu iOS, który chcesz przeprowadzić. Możesz wpisać
typy testowe |
--app
|
Wymagane: ścieżka bezwzględna (GCS lub system plików) do pliku IPA aplikacji. Ten parametr jest prawidłowy tylko podczas uruchamiania testów Game Loop. |
--scenario-numbers
|
pętle (inaczej scenariusze), które chcesz uruchomić w swojej aplikacji; Możesz wprowadzić jedną pętlę, listę lub pętlę albo zakres pętli. Domyślna pętla to 1.
Na przykład |
--device-model
|
fizyczne urządzenie, na którym chcesz przeprowadzić test; (sprawdź, które dostępne urządzenia których możesz użyć). |
--timeout
|
Maksymalny czas trwania testu. Możesz wpisać liczbę całkowitą, aby przedstawiają czas trwania w sekundach lub liczbę całkowitą i wyliczenie reprezentujące jako dłuższej jednostki czasu. Przykład:
|
Na przykład to polecenie uruchamia 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 (opcjonalny) Zautomatyzuj tworzone w przyszłości testy
Pisanie 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 mobilnej, które w przeciwnym razie musiałbyś uruchomić w wierszu poleceń gcloud. Ta przykładowa bash uruchamia XCTest z dwuminutowym czasem oczekiwania i zgłasza, czy dany test ukończono 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
Skrypty wyjścia
Test Lab udostępnia kilka kodów wyjścia, które mogą Ci pomóc lepiej zrozumieć wyniki testów przeprowadzonych za pomocą skryptów lub plików wsadowych.
Kod wyjścia | Uwagi |
---|---|
0 | Wszystkie wykonania testu zaliczone. |
1 | Wystąpił błąd ogólny. Możliwe przyczyny: nazwa pliku, w którym występuje nie istnieje albo występuje błąd HTTP/sieciowy. |
2 | Testowanie zostało zakończone, ponieważ podano nieznane polecenia lub argumenty. |
10 | Co najmniej 1 przypadek testowy (testowane klasy lub metody klas) w ramach testu nie udało się wykonać. |
15 | Funkcja Firebase Test Lab nie mogła określić, czy tablica testów zaliczona lub niepowodzenie z powodu nieoczekiwanego błędu. |
19 | Zestaw testów został anulowany przez użytkownika. |
20 | Wystąpił błąd infrastruktury testowej. |
Krok 4. Sprawdź wyniki testu
Po rozpoczęciu testu otrzymasz link do strony Wyniki testu. Testy mogą jego bieg może potrwać kilka minut, w zależności w wybranych konfiguracjach oraz czasie oczekiwania na sprawdzenie testów. Po zakończeniu testów możesz sprawdzić ich wyniki. Więcej informacji o interpretowaniu wyników testu znajdziesz w artykule Analiza wyników Firebase Test Lab.
Następny krok
Przeczytaj dokumentację pakietu SDK Google Cloud, aby poznać dostępne opcje testowania. powszechnie dostępne lub beta.