Rozwiązywanie problemów z Laboratorium Najczęstsze pytania
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Na tej stronie znajdziesz pomoc w rozwiązywaniu problemów i odpowiedzi na najczęstsze pytania dotyczące przeprowadzania testów za pomocą Firebase Test Lab. Znane problemy są również udokumentowane. Jeśli nie możesz znaleźć potrzebnych informacji lub potrzebujesz dodatkowej pomocy, dołącz do kanału #test-lab na Slacku Firebase lub skontaktuj się z zespołem pomocy Firebase.
Rozwiązywanie problemów
Dlaczego test trwa tak długo?
Jeśli w katalogu Test Labwybierzesz urządzenie o wysokim poziomie pojemności, testy mogą się rozpocząć szybciej. Gdy urządzenie ma małą pojemność, testy mogą trwać dłużej. Jeśli liczba wywołanych testów jest znacznie większa niż możliwości wybranych urządzeń, testy mogą trwać dłużej.
Testy przeprowadzane na urządzeniach o dowolnym poziomie wydajności mogą trwać dłużej z powodu tych czynników:
Ruch, który wpływa na dostępność urządzenia i szybkość testu.
awarie urządzeń lub infrastruktury, które mogą wystąpić w dowolnym momencie; Aby sprawdzić, czy zgłoszono problemy z infrastrukturą Test Lab, otwórz panel stanu Firebase.
Więcej informacji o pojemności urządzenia w Test Lab znajdziesz w artykule o pojemności urządzenia na Androida i iOS.
Dlaczego otrzymuję niejednoznaczne wyniki testów?
Niejednoznaczne wyniki testów występują zwykle z powodu anulowanych uruchomień testów lub błędów infrastruktury.
Błędy infrastruktury są spowodowane wewnętrznymi problemami z Test Lab, takimi jak błędy sieci lub nieoczekiwane zachowania urządzeń. Test Lab wewnętrznie wycofuje przebiegi testów
wielokrotnie powodujące błędy infrastruktury przed zgłoszeniem
niejednoznacznego wyniku. Możesz jednak wyłączyć te ponowienia za pomocą
failFast.
Aby ustalić przyczynę błędu, wykonaj te czynności:
Sprawdź, czy nie występują znane przerwy w działaniu usługi w panelu stanu Firebase.
Powtórz test w Test Lab, aby sprawdzić, czy można go odtworzyć.
W razie potrzeby spróbuj przeprowadzić test na innym urządzeniu lub innym typie urządzenia.
Jeśli problem będzie się powtarzał, skontaktuj się z zespołem Test Lab na kanale#test-lab na Slacku Firebase.
Dlaczego dzielenie na partycje wydłużyło czas działania moich testów?
Fragmentacja może wydłużyć czas trwania testów, jeśli liczba fragmentów, którą podasz, przekroczy liczbę urządzeń dostępnych do użycia w Test Lab. Aby uniknąć tej sytuacji, spróbuj użyć innego urządzenia. Więcej informacji o wybieraniu innego urządzenia znajdziesz w sekcji
Pojemność urządzenia.
Dlaczego rozpoczęcie testu trwa tak długo?
Gdy przesyłasz prośbę o test, aplikacja jest najpierw weryfikowana, ponownie podpisywana itp. w ramach przygotowań do przeprowadzenia testów na urządzeniu. Zwykle trwa to mniej niż kilka sekund, ale może zależeć od takich czynników jak rozmiar aplikacji.
Gdy aplikacja będzie gotowa, zaplanowane zostaną wykonania testów, które pozostaną w kolejce, dopóki urządzenie nie będzie gotowe do ich uruchomienia. Dopóki wszystkie wykonania testu nie zostaną ukończone, stan macierzy będzie „Oczekujący” (niezależnie od tego, czy wykonania testu są w kolejce, czy aktywnie działają).
Dlaczego test trwa tak długo?
Po zakończeniu wykonania testu artefakty testowe są pobierane z urządzenia, przetwarzane i przesyłane do Cloud Storage. Czas trwania tego kroku może zależeć od liczby i rozmiaru artefaktów.
Najczęstsze pytania
Jakie są bezpłatne limity dla Test Lab? Co zrobić, jeśli mi się skończą?
Firebase Test Lab oferuje bezpłatne limity na testowanie na urządzeniach i korzystanie z interfejsów Cloud API. Pamiętaj, że limit testowy jest zgodny ze standardowym planem cenowym Firebase, a limity interfejsu Cloud API nie.
Limit testowania
Limity testów są określane na podstawie liczby urządzeń używanych do przeprowadzania testów.
Abonament Firebase Spark ma stały limit testowania, który jest bezpłatny dla użytkowników. W przypadku abonamentu Blaze limity mogą się zwiększać, jeśli z czasem wzrośnie wykorzystanie Google Cloud. Jeśli osiągniesz limit testowania, poczekaj do następnego dnia lub przejdź na abonament Blaze, jeśli korzystasz obecnie z abonamentu Spark.
Jeśli korzystasz już z abonamentu Blaze, możesz poprosić o zwiększenie limitu.
Więcej informacji znajdziesz w sekcji Limit testowy.
Interfejs Cloud Testing API ma 2 limity: żądania dziennie na projekt i żądania co 100 sekund na projekt. Możesz monitorować wykorzystanie w Google Cloudkonsoli.
Limit interfejsu Cloud Tool Results API
Interfejs Cloud Tool Results API ma 2 limity: zapytania dziennie na projekt i zapytania co 100 sekund na projekt. Możesz monitorować wykorzystanie w Google Cloudkonsoli.
Prześlij prośbę o zwiększenie limitów, edytując limity bezpośrednio w Google Cloud konsoli (pamiętaj, że większość limitów jest domyślnie ustawiona na maksymalną wartość) lub
Aby poprosić o zwiększenie przydziału danych w interfejsie API, wypełnij formularz w Google Cloudkonsoli lub skontaktuj się z zespołem pomocy Firebase.
Jak sprawdzić, czy ruch docierający do mojego backendu pochodzi z Test Lab?
W backendzie możesz sprawdzić, czy ruch pochodzi z urządzeń testowych hostowanych przez Firebase, porównując źródłowy adres IP z naszymi zakresami adresów IP.
Czy Test Lab działa z VPC-SC?
Test Lab nie działa z VPC-SC, która blokuje kopiowanie aplikacji i innych artefaktów testowych między wewnętrzną pamięcią Test Lab a zasobnikami wyników użytkowników.
Jak wykrywać niestabilne testy w Test Lab?
Aby wykryć niestabilne zachowanie w testach, zalecamy użycie opcji
--num-flaky-test-attempts
. Ponowne uruchomienia testów w celu wyeliminowania niestabilności są rozliczane lub wliczane do dziennego limitu tak samo jak zwykłe wykonania testów.
Pamiętaj:
Po wykryciu błędu całe wykonanie testu jest uruchamiane ponownie. Nie ma możliwości ponawiania tylko testów zakończonych niepowodzeniem.
Ponowne uruchomienia w celu wyeliminowania niestabilności są zaplanowane na tę samą godzinę, ale nie ma gwarancji, że będą wykonywane równolegle, np. gdy ruch przekracza liczbę dostępnych urządzeń.
Czy Test Lab obsługuje Appium, Flutter/FlutterDriver, ReactNative/Jest lub Cucumber?
Niektóre z tych elementów są uwzględnione w naszym planie rozwoju, ale obecnie nie możemy zagwarantować obsługi tych platform testowych i do tworzenia aplikacji.
Gdzie znajdę szczegóły urządzenia, takie jak rozdzielczość?
Szczegółowe informacje o urządzeniu są dostępne w interfejsie API i można uzyskać do nich dostęp z klienta gcloud za pomocą polecenia describe:
gcloud firebase test ios models describe MODEL
Czy mogę używać dzielenia na partycje w przypadku testów iOS?
Dzielenie na partycje nie jest natywnie obsługiwane w Test Lab na iOS. Możesz jednak użyć klienta Flank, aby podzielić przypadki testowe iOS na mniejsze części.
W tym celu należy ustawić klucz OnlyTestIdentifiers i wartości w pliku .xctestrun.
Więcej informacji znajdziesz na stronie man w sekcji xcodebuild.xctestrun.
Dlaczego w wynikach testu na iOS brakuje filmów?
W przypadku systemu iOS 18 lub nowszego nie możemy obsługiwać filmów w wynikach.
Znane problemy
Zabezpieczenia captcha podczas logowania
Test Robo nie może pominąć ekranów logowania, które wymagają dodatkowych działań użytkownika poza wpisaniem danych logowania, np. wypełnienia testu CAPTCHA.
Obsługa platformy interfejsu
Testy Robo najlepiej sprawdzają się w przypadku aplikacji, które korzystają z elementów interfejsu z platformy interfejsu Androida (w tym obiektów View, ViewGroup i WebView). Jeśli używasz testu Robo do testowania aplikacji, które korzystają z innych platform interfejsu, w tym aplikacji korzystających z silnika gier Unity, test może zakończyć się bez eksplorowania kolejnych ekranów.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-28 UTC."],[],[]]