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 SDK Google Cloud.
- 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 testowych i wybierz kilka kombinacji, które chcesz przetestować przeprowadź test. Otwórz Abonamenty, aby zobaczyć maksymalną liczbę kombinacji, które możesz uruchomić dziennie.
Po wybraniu zestawu wymiarów testowych możesz uruchomić metodę Test Lab testów 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ą uniwersalnie unikalne. 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
|
Wymagany: określa typ testu na 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. Ta flaga jest stosowana tylko podczas 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ę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 gcloud CLI znajdziesz w dokumentacji referencyjnej.
Krok 3 (opcjonalny) Zautomatyzuj tworzone w przyszłości testy
Wykonywanie skryptów poleceń gcloud za pomocą dodatku Test Lab
Możesz użyć skryptów powłoki lub plików wsadowych, aby zautomatyzować polecenia testowania aplikacji mobilnych które można by uruchomić przy użyciu wiersza 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ą i może potrwać kilka minut w zależności od liczby różnych w wybranych konfiguracjach oraz czasie oczekiwania na sprawdzenie testów. Po zakończeniu testów możesz przejrzeć ich wyniki. Zobacz Analizuję Firebase Test Lab wyniki, by dowiedzieć się więcej jak interpretować wyniki testu.
Następny krok
Przeczytaj dokumentację pakietu SDK Google Cloud, aby poznać dostępne opcje testowania. powszechnie dostępne lub beta.