Firebase Test Lab umożliwia testowanie aplikacji na różnych urządzeniach i konfiguracjach. Ten przewodnik dla początkujących zawiera ścieżkę implementacji, którą możesz podążać , oraz wprowadzenie do oferty Test Lab's na Androida.
Więcej informacji o limitach i planach cenowych Test Lab znajdziesz w artykule Korzystanie, limity i ceny.
Kluczowe pojęcia
Gdy uruchamiasz test lub zestaw przypadków testowych na wybranych urządzeniach i w wybranych konfiguracjach, Test Lab przeprowadza test na Twojej aplikacji w ramach zadania zbiorczego, a następnie wyświetla wyniki w postaci zestawu testów.
Urządzenia × wykonania testów = zestaw testów
- Urządzenie
- Fizyczne lub wirtualne urządzenie (tylko Android) używane do przeprowadzania testów, np. telefon, tablet lub urządzenie do noszenia. Urządzenia w zestawie testów są identyfikowane na podstawie modelu urządzenia, wersji systemu operacyjnego, orientacji ekranu i ustawień regionalnych (znanych też jako ustawienia geograficzne i językowe).
- Test, wykonanie testu
- Test (lub zestaw przypadków testowych) do uruchomienia na urządzeniu. Możesz uruchomić 1 test na urządzenie lub opcjonalnie podzielić test na fragmenty i uruchomić jego przypadki testowe na różnych urządzeniach.
- Zestaw testów
- Zawiera stany i wyniki wykonania testów. Jeśli którekolwiek wykonanie testu w zestawie zakończy się niepowodzeniem, cały zestaw zakończy się niepowodzeniem.
Krok 1.: Przygotuj test do przesłania do Test Lab
Dostępne typy testów
W Laboratorium testowym możesz uruchamiać te testy z Test Lab. Pamiętaj, że wszystkie typy testów są ograniczone do 45 minut na urządzeniach fizycznych i 60 minut na urządzeniach wirtualnych. Każdy nieobsłużony wyjątek spowoduje niepowodzenie testu.
Test z instrumentacją lub test jednostkowy z instrumentacją: test napisany przy użyciu platform Espresso lub UI Automator. W tym teście możesz tworzyć wyraźne asercje dotyczące stanu aplikacji, aby zweryfikować prawidłowe działanie za pomocą interfejsów API AndroidJUnitRunner.
Instrukcje dotyczące przygotowania testu do uruchomienia w Test Lab znajdziesz w artykule Uruchamianie testu z instrumentacją.
Instrukcje dotyczące tworzenia testu z instrumentacją znajdziesz w dokumentacji dla deweloperów Androida.
Test Robo: zautomatyzowany test, który analizuje interfejs użytkownika aplikacji, a następnie systematycznie go bada, symulując działania użytkownika bez konieczności pisania kodu. Więcej informacji znajdziesz w artykule Informacje o testach Robo.
Test pętli gry: test, który symuluje działania gracza w aplikacjach do gier za pomocą „trybu demonstracyjnego”. Jest to szybki i skalowalny sposób na sprawdzenie, czy gra działa dobrze dla użytkowników. Gdy zdecydujesz się uruchomić test pętli gry, możesz:
pisać testy natywne dla silnika gry,
unikać pisania tego samego kodu dla różnych interfejsów użytkownika lub platform testowych,
opcjonalnie tworzyć wiele pętli do uruchomienia w ramach jednego wykonania testu (więcej informacji znajdziesz w artykule Informacje o testach pętli gry). Możesz też porządkować pętle za pomocą etykiet, aby je śledzić i ponownie uruchamiać określone pętle.
Instrukcje dotyczące uruchamiania tego testu z Test Lab znajdziesz w artykule Przeprowadzanie testu pętli gry.
Narzędzia do uruchamiania testu
Do uruchamiania testu możesz użyć tych narzędzi:
Zalecane dla nowych użytkowników: konsola Firebase umożliwia przesyłanie aplikacji i rozpoczynanie testowania z poziomu przeglądarki. Instrukcje dotyczące uruchamiania testów za pomocą tego narzędzia znajdziesz w artykule Testowanie za pomocą konsoliFirebase.
Integracja z Android Studio umożliwia testowanie aplikacji bez opuszczania środowiska programistycznego. Instrukcje dotyczące uruchamiania testów za pomocą tego narzędzia znajdziesz w artykule Testowanie za pomocą Android Studio.
Interfejs wiersza poleceń gcloud umożliwia interaktywne uruchamianie testów z wiersza poleceń. Nadaje się też do tworzenia skryptów w ramach zautomatyzowanego procesu kompilacji i testowania. Instrukcje dotyczące uruchamiania testów za pomocą tego narzędzia znajdziesz w artykule Testowanie za pomocą gcloud CLI.
Możesz też bezpłatnie testować aplikację w Test Lab, gdy przesyłasz i publikujesz pliki APK aplikacji w Sklepie Play za pomocą kanału alfa lub beta. Więcej informacji znajdziesz w artykułach Używanie raportów przed opublikowaniem do wykrywania problemów i Testy Robo.
Krok 2. Wybierz urządzenie testowe
Test Lab obsługuje testowanie na urządzeniach z Androidem różnych marek i modeli zainstalowanych i działających w centrum danych Google. Testowanie na urządzeniach w Test Lab pomaga wykrywać problemy, które mogą nie występować podczas testowania aplikacji za pomocą emulatorów w Android Studio. Więcej informacji znajdziesz w artykule Dostępne urządzenia.
Krok 3. Sprawdź wyniki testu
Niezależnie od tego, jak rozpoczniesz testy, wszystkie ich wyniki są zarządzane przez Test Lab i można je wyświetlać online.
Podsumowanie wyników testu jest automatycznie zapisywane i można je wyświetlić w konsoli Firebase. Zawiera ono najważniejsze dane dotyczące testu, w tym filmy, zrzuty ekranu, liczbę testów, które zakończyły się powodzeniem, niepowodzeniem lub dały niejednoznaczne wyniki, i inne informacje.
Surowe wyniki testu zawierają logi testów i szczegóły awarii aplikacji. Są one automatycznie zapisywane w zasobniku Google Cloud. Jeśli określisz zasobnik, ponosisz koszty związane z jego przechowywaniem. Jeśli nie określisz zasobnika, Test Lab utworzy go bezpłatnie.
Więcej informacji znajdziesz w artykule Analizowanie wyników.Firebase Test Lab
Gdy rozpoczniesz test z Android Studio, możesz też sprawdzić jego wyniki w środowisku programistycznym.
Czyszczenie urządzenia
Google bardzo poważnie traktuje bezpieczeństwo danych aplikacji. Po każdym uruchomieniu testu stosujemy sprawdzone metody usuwania danych aplikacji i resetowania ustawień systemowych na urządzeniach fizycznych, aby przygotować je do uruchomienia nowych testów. W przypadku urządzeń, na których możemy zainstalować niestandardowy obraz odzyskiwania, wykonujemy dodatkowy krok i instalujemy na nich obraz między uruchomieniami testów.
W przypadku urządzeń wirtualnych używanych przez Test Lab, instancje urządzeń są usuwane po użyciu, dzięki czemu każde uruchomienie testu korzysta z nowej instancji urządzenia wirtualnego.
Test Lab i Usługi Google Play
Urządzenia Test Lab zwykle działają na najnowszej wersji pakietu SDK Usług Google Play, ale w przypadku niektórych urządzeń aktualizacja może potrwać kilka dni po wydaniu nowej wersji pakietu SDK. Pamiętaj, że w przypadku niektórych urządzeń mogą występować problemy ze zgodnością.
Zezwalanie urządzeniom testowym na dostęp do prywatnych serwerów backendowych
Niektóre aplikacje mobilne muszą komunikować się z prywatnymi usługami backendowymi, aby prawidłowo działać podczas testowania. Jeśli serwery backendowe są chronione regułami zapory , możesz zezwolić na dostęp urządzeniom fizycznym i wirtualnym Test Lab za pomocą bloków adresów IP podanych poniżej, otwierając trasy przez zaporę.
Reklama mobilna
Test Lab zapewnia skalowalną infrastrukturę, która automatyzuje testowanie aplikacji. Niestety ta funkcja może być nadużywana przez złośliwe aplikacje zaprojektowane do generowania fałszywych przychodów z reklam.
Aby rozwiązać ten problem:
Jeśli korzystasz z usług zewnętrznych dostawców reklam cyfrowych (np. sieci reklamowych lub platform DSP) albo z nimi współpracujesz, zalecamy, aby podczas tworzenia i testowania aplikacji używać reklam testowych zamiast prawdziwych.
Jeśli musisz używać prawdziwych reklam w testach, poinformuj dostawców reklam cyfrowych , z którymi współpracujesz, aby odfiltrowali przychody i cały powiązany ruch generowany przez Test Lab, używając bloków adresów IP podanych poniżej. Nie musisz informować dostawców reklam należących do Google – Test Lab zrobi to za Ciebie.
Adresy IP używane przez urządzenia Test Lab
Cały ruch w sieci generowany przez Test Lab urządzenia pochodzi z tych
następujących
bloków adresów IP.
Możesz też uzyskać dostęp do tej listy, używając
gcloud beta firebase test ip-blocks list
polecenia
w gcloud CLI. Lista jest aktualizowana średnio raz w roku.
| Platforma i typ urządzenia | Blok adresów IP CIDR |
|---|---|
| Urządzenia fizyczne z Androidem i iOS, urządzenia wirtualne z architekturą Arm |
70.32.128.0/19 (dodano w lutym 2022 r.) 108.177.6.0/23 108.177.18.192/26 (dodano w lutym 2022 r.) 108.177.29.64/27 (rozszerzono w lutym 2022 r.) 108.177.31.160/27 (dodano w lutym 2022 r.) 199.36.156.8/29 (dodano w lutym 2022 r.) 199.36.156.16/28 (dodano w lutym 2022 r.) 209.85.131.0/27 (dodano w lutym 2022 r.) 2001:4860:1008::/48 (dodano w lutym 2022 r.) 2001:4860:1018::/48 (dodano w lutym 2022 r.) 2001:4860:1019::/48 (dodano w lutym 2022 r.) 2001:4860:1020::/48 (dodano w lutym 2022 r.) 2001:4860:1022::/48 (dodano w lutym 2022 r.) 2001:4860:101d::/48 (dodano w październiku 2025 r.) 2001:4860:101e::/48 (dodano w październiku 2025 r.) 2001:4860:1031::/48 (dodano w październiku 2025 r.) 70.32.128.48/28 (dodano w kwietniu 2024 r.) 70.32.150.192/27 (dodano we wrześniu 2025 r.) 108.177.6.0/27 (dodano we wrześniu 2025 r.) 108.177.24.160/27 (dodano we wrześniu 2025 r.) 108.177.29.0/27 (dodano we wrześniu 2025 r.) 108.177.25.128/27 (dodano w maju 2026 r.) 108.177.26.128/26 (dodano w maju 2026 r.) 108.177.29.192/26 (dodano w maju 2026 r.) 172.217.120.64/26 (dodano w maju 2026 r.) 172.217.120.128/26 (dodano w maju 2026 r.) 2001:4860:1037::/48 (dodano w maju 2026 r.) 2001:4860:1038::/48 (dodano w maju 2026 r.) 2001:4860:103a::/48 (dodano w maju 2026 r.) |
| Wirtualne urządzenia z Androidem (bez architektury Arm) |
34.68.194.64/29 (dodano w listopadzie 2019 r.) 34.69.234.64/29 (dodano w listopadzie 2019 r.) 34.73.34.72/29 (dodano w listopadzie 2019 r.) 34.73.178.72/29 (dodano w listopadzie 2019 r.) 34.74.10.72/29 (dodano w lutym 2022 r.) 34.136.2.136/29 (dodano w lutym 2022 r.) 34.136.50.136/29 (dodano w lutym 2022 r.) 34.145.234.144/29 (dodano w lutym 2022 r.) 35.192.160.56/29 35.196.166.80/29 35.196.169.240/29 35.203.128.0/28 35.234.176.160/28 35.243.2.0/27 (dodano w lipcu 2019 r.) 35.245.243.240/29 (dodano w lutym 2022 r.) 199.192.115.0/30 199.192.115.8/30 199.192.115.16/29 |
| Bloki adresów IP urządzeń, które nie są już używane |
74.125.122.32/29 (usunięto w lutym 2022 r.) 216.239.44.24/29 (usunięto w lutym 2022 r.) |