Kompilacje możesz udostępniać testerom za pomocą interfejsu wiersza poleceń Firebase. To narzędzie umożliwia określenie testerów i informacji o wersji kompilacji oraz odpowiednie rozpowszechnienie kompilacji.
Zanim zaczniesz
Dodaj Firebase do projektu Apple, jeśli nie korzystasz w nim jeszcze z tej usługi.
Jeśli nie używasz żadnych innych usług Firebase, wystarczy, że utworzysz projekt i zarejestrujesz aplikację. Jeśli jednak w przyszłości zdecydujesz się na korzystanie z dodatkowych usług, wykonaj wszystkie czynności opisane na stronie, do której link znajdziesz powyżej.
Otwórz stronę App Distribution Firebase konsoli. Gdy pojawi się prośba, wybierz projekt Firebase, a potem aplikację za pomocą przełącznika aplikacji i kliknij Rozpocznij.
Krok 1. Udostępnij aplikację testerom
Aby udostępnić aplikację testerom, prześlij plik IPA za pomocą interfejsu wiersza poleceń Firebase:
- Zainstaluj najnowszą wersję interfejsu wiersza poleceń Firebase lub zaktualizuj go do tej wersji (zalecamy pobranie samodzielnego pliku binarnego interfejsu wiersza poleceń odpowiedniego dla Twojego systemu operacyjnego). Zaloguj się i sprawdź, czy masz dostęp do swoich projektów.
-
Uruchom polecenie
appdistribution:distribute, aby przesłać aplikację i udostępnić ją testerom. Aby skonfigurować dystrybucję, użyj tych parametrów:Opcje polecenia appdistribution:distribute --appWymagane: identyfikator Firebase aplikacji. Identyfikator aplikacji znajdziesz w konsoli Firebase na stronie Ustawienia ogólne.
--app 1:1234567890:ios:0a1b2c3d4e5f67890
--tokenToken odświeżania, który jest wyświetlany po uwierzytelnieniu środowiska CI za pomocą interfejsu wiersza poleceń Firebase (więcej informacji znajdziesz w artykule Korzystanie z interfejsu wiersza poleceń w systemach CI ).
--token "$FIREBASE_TOKEN"
--release-notes
--release-notes-fileInformacje o tej wersji.
Możesz podać informacje o wersji bezpośrednio:
--release-notes "Text of release notes"
Możesz też podać ścieżkę do pliku tekstowego:
--release-notes-file "/path/to/release-notes.txt"
--testers
--testers-fileAdresy e-mail testerów, których chcesz zaprosić.
Możesz podać testerów jako listę adresów e-mail rozdzielonych przecinkami:
--testers "ali@example.com, bri@example.com, cal@example.com"
Możesz też podać ścieżkę do pliku tekstowego zawierającego listę adresów e-mail rozdzielonych przecinkami:
--testers-file "/path/to/testers.txt"
--groups
--groups-fileGrupy testerów, które chcesz zaprosić (więcej informacji znajdziesz w artykule Zarządzanie testerami). Grupy są określane za pomocą
aliasów grup , które można znaleźć w Firebase konsoli.Możesz podać grupy jako listę rozdzieloną przecinkami:
--groups "qa-team, trusted-testers"
Możesz też podać ścieżkę do pliku tekstowego zawierającego a listę nazw grup rozdzielonych przecinkami:
--groups-file "/path/to/groups.txt"
--debugFlaga, którą możesz dodać, aby wyświetlić szczegółowe dane wyjściowe logów.
--test-devices
--test-devices-fileUrządzenia testowe, na których chcesz uruchomić testy agenta testowania aplikacji.
Możesz podać urządzenia testowe jako listę specyfikacji urządzeń rozdzielonych średnikami:
--test-devices: "model=shiba,version=34,locale=en,orientation=portrait"
Możesz też podać ścieżkę do pliku tekstowego zawierającego listę urządzeń testowych rozdzielonych średnikami:
--test-devices-file: "/path/to/test-devices.txt"
--test-username--test-password
--test-password-fileHasło do automatycznego logowania, które będzie używane podczas testów agenta testowania aplikacji .
Możesz też podać ścieżkę do pliku tekstowego zawierającego hasło:
--test-password-file: "/path/to/test-password.txt"
--test-username-resourceNazwa zasobu dla pola nazwy użytkownika do automatycznego logowania, która będzie używana podczas testów agenta testowania aplikacji.
--test-password-resourceNazwa zasobu dla pola hasła do automatycznego logowania, która będzie używana podczas testów agenta testowania aplikacji.
--test-non-blockingJeśli ta opcja jest ustawiona podczas uruchamiania testów agenta testowania aplikacji , polecenie rozpocznie testy, a następnie natychmiast powróci zamiast czekać na ich zakończenie. Aby zobaczyć wyniki testów, otwórz konsolę Firebase. Jeśli ta flaga nie jest ustawiona, polecenie będzie blokować działanie do momentu zakończenia testów i zakończy się kodem błędu, jeśli którykolwiek z testów się nie powiedzie.
--results-bucketNiestandardowy zasobnik Google Cloud Storage (GCS), w którym są przechowywane wyniki testów. Jeśli to pole pozostanie puste, użyty zostanie zasobnik domyślny. Zasobnik musi należeć do projektu, w którym włączone są płatności, a określenie zasobnika powoduje naliczanie opłat za wykorzystane miejsce na dane.
Przykład:
firebase appdistribution:distribute test.ipa \ --app 1:1234567890:ios:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txtPo przesłaniu wersji interfejs wiersza poleceń Firebase wyświetla te linki: Pomagają one zarządzać plikami binarnymi i zapewniają, że testerzy oraz inni deweloperzy mają odpowiednią wersję:
firebase_console_uri– link do konsoli, w której wyświetlana jest pojedyncza wersja.Firebase Możesz udostępnić ten link innym deweloperom w organizacji.testing_uri– link do wersji w środowisku testera (klip internetowy na iOS), który umożliwia testerom wyświetlanie informacji o wersji i instalowanie aplikacji na urządzeniu. Aby móc korzystać z linku, tester musi mieć dostęp do wersji.binary_download_uri– podpisany link, który bezpośrednio pobiera i instaluje plik binarny aplikacji (plik IPA). Link wygasa po godzinie.
Zarządzanie testerami i grupami
Oprócz rozpowszechniania wersji możesz też używać
appdistribution:testers:addiappdistribution:testers:removedo zapraszania nowych testerów lub usuwania dotychczasowych testerów z projektu Firebase.Gdy tester zostanie dodany do projektu Firebase, możesz dodać go do poszczególnych wersji. Po usunięciu testera nie będzie on już mieć dostępu do wersji w Twoim projekcie. Pamiętaj, że testerzy, którzy zostali niedawno usunięci, mogą nadal mieć dostęp do Twoich wersji przez pewien czas.
Przykład:
firebase appdistribution:testers:add anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove anothertester@email.com moretesters@email.comAdresy e-mail testerów muszą być oddzielone spacją. Możesz też określić testerów za pomocą
--file /path/to/testers.txt.Jeśli masz dużą liczbę testerów, rozważ użycie grup: Możesz użyć
appdistribution:group:createiappdistribution:group:deletedo tworzenia i usuwania grup w projekcie Firebase.Aby określić grupę dla poleceń
appdistribution:testers:addiappdistribution:testers:remove, użyj polecenia--group-alias.Przykład:
firebase appdistribution:group:create "QA team" qa-teamfirebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:group:delete qa-team
Po rozpowszechnieniu kompilacji będzie ona dostępna na panelu App Distribution w konsoli Firebase przez 150 dni (5 miesięcy). Gdy do wygaśnięcia kompilacji pozostanie 30 dni, w konsoli i na liście kompilacji testera na urządzeniu testowym pojawi się powiadomienie o wygaśnięciu.
Testerzy, którzy nie zostali zaproszeni do testowania aplikacji, otrzymają e-maile z zaproszeniem do rozpoczęcia testów, a dotychczasowi testerzy otrzymają e-maile z powiadomieniem, że nowa kompilacja jest gotowa do testowania. Aby dowiedzieć się, jak zainstalować aplikację testową , przeczytaj artykuł Konfiguracja jako tester. W konsoli Firebase możesz monitorować stan każdego testera – czy zaakceptował zaproszenie i czy pobrał aplikację.
Testerzy mają 30 dni na zaakceptowanie zaproszenia do testowania aplikacji, zanim utraci ono ważność. Gdy do wygaśnięcia zaproszenia pozostanie 5 dni, w Firebase konsoli obok testera w wersji pojawi się powiadomienie o wygaśnięciu. Zaproszenie można odnowić, wysyłając je ponownie za pomocą menu wiersza testera.
Dalsze kroki
Aby zarejestrować więcej urządzeń ręcznie lub programowo, przeczytaj artykuł Rejestrowanie dodatkowych urządzeń z iOS.
Poznaj sprawdzone metody rozpowszechniania aplikacji Apple wśród testerów QA za pomocą CI/CD i fastlane.