Rozwiązywanie problemów z Laboratorium i 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 oraz odpowiedzi na najczęstsze pytania dotyczące przeprowadzania testów w Laboratorium Firebase. Opisaliśmy też znane problemy. Jeśli nie możesz znaleźć tego, czego szukasz, lub potrzebujesz dodatkowej pomocy, dołącz do #test-lab channel na Slacku Firebase lub skontaktuj się z zespołem pomocy Firebase.
Rozwiązywanie problemów
Dlaczego trwa tak długo test?
Jeśli w katalogu Laboratorium wybierzesz urządzenie o dużej pojemności, testy mogą rozpocząć się szybciej. Gdy urządzenie ma małą wydajność, testy mogą potrwać dłużej. Jeśli liczba wywołanych testów jest znacznie większa niż pojemność wybranych urządzeń, ich wykonanie może potrwać dłużej.
Testy na dowolnym poziomie wydajności urządzenia mogą potrwać dłużej z tych powodów:
Ruch, który wpływa na dostępność urządzeń i szybkość testu.
Awarie urządzeń lub infrastruktury, które mogą wystąpić w dowolnym momencie. Aby sprawdzić, czy dla Laboratorium istnieje zgłoszona infrastruktura, otwórz panel stanu Firebase.
Aby dowiedzieć się więcej o pojemności urządzeń w Laboratorium, zapoznaj się z informacjami o pojemności urządzeń z Androidem i iOS.
Dlaczego otrzymuję niejednoznaczne wyniki testu?
Niejednoznaczne wyniki testów często występują z powodu anulowanych testów lub błędów infrastruktury.
Błędy infrastruktury są spowodowane przez wewnętrzne problemy z Laboratorium, np. błędy sieci lub nieoczekiwane działanie urządzeń. Test Lab wewnętrznie wycofuje testy, które wielokrotnie wywołują błędy infrastruktury, zanim przekażemy niejednoznaczny wynik. Możesz jednak wyłączyć takie ponowienia za pomocą metody failFast.
Aby określić przyczynę błędu, wykonaj te czynności:
Ponów test w Laboratorium, aby sprawdzić, czy da się go odtworzyć.
W razie potrzeby spróbuj przeprowadzić test na innym urządzeniu lub urządzeniu.
Jeśli problem będzie się powtarzał, skontaktuj się z zespołem Laboratorium w #test-lab w kanale Firebase Slack.
Dlaczego fragmentacja wydłużyła
moje testy?
Fragmentacja może wydłużyć czas trwania testów, gdy określona liczba fragmentów przekroczy liczbę urządzeń dostępnych do użycia w Laboratorium. Aby tego uniknąć, spróbuj zmienić urządzenie. Więcej informacji o wybieraniu innego urządzenia znajdziesz w sekcji
Pojemność urządzenia.
Dlaczego tak długo
uruchamiam test?
Gdy przesyłasz żądanie testowe, Twoja aplikacja jest najpierw weryfikowana, ponownie podpisana itp., aby przygotować ją do testów na urządzeniu. Normalnie ten proces trwa niecałe kilka sekund, ale na jego wpływ mogą mieć różne czynniki, np. rozmiar aplikacji.
Gdy aplikacja jest gotowa, wykonania testów są zaplanowane i pozostają w kolejce do momentu, aż urządzenie będzie gotowe do uruchomienia. Do momentu zakończenia wszystkich wykonań testów stan macierzy będzie oznaczony jako „Oczekujące” (niezależnie od tego, czy wykonania testu znajdują się w kolejce, czy są aktywne).
Dlaczego tak długo trwa
test?
Po zakończeniu testu artefakty 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 w Laboratorium? Co zrobić, gdy mi się skończą?
Laboratorium Firebase oferuje bezpłatne limity do testowania na urządzeniach oraz do korzystania z interfejsów Cloud API. W przypadku limitu testowania stosowany jest standardowy abonament Firebase, a limity interfejsu Cloud API – nie.
Limit testowania
Limity testowania są określane na podstawie liczby urządzeń używanych do przeprowadzania testów.
Abonament Firebase Spark ma stały limit testowania bez opłat dla użytkowników. W przypadku abonamentu Blaze limity mogą wzrosnąć, jeśli z czasem zwiększy się wykorzystanie Google Cloud. Po osiągnięciu limitu testowania poczekaj do następnego dnia lub przejdź na abonament Blaze, jeśli korzystasz obecnie z abonamentu Spark.
Jeśli masz już abonament Blaze, możesz poprosić o zwiększenie limitu.
Więcej informacji znajdziesz w artykule o limitach testowania.
Interfejs Cloud Testing API ma 2 limity: liczbę żądań dziennie na projekt i liczbę żądań na 100 sekund na projekt. Wykorzystanie możesz monitorować w konsoli Google Cloud.
Limit interfejsu Cloud Tool Results API
Interfejs Cloud Tool Results API ma 2 limity: liczbę zapytań dziennie na projekt i zapytań na 100 sekund na projekt. Wykorzystanie możesz monitorować w konsoli Google Cloud.
Prześlij prośbę o zwiększenie limitów, edytując je bezpośrednio w konsoli Google Cloud (pamiętaj, że większość limitów jest domyślnie ustawiona na wartość maksymalną) lub
Poproś o zwiększenie limitów interfejsu API, wypełniając formularz prośby w konsoli Google Cloud lub kontaktując się z zespołem pomocy Firebase.
Jak sprawdzić, czy ruch trafiający do mojego backendu pochodzi z Laboratorium?
Z poziomu backendu możesz określić, czy ruch pochodzi z urządzeń testowych hostowanych przez Firebase, sprawdzając źródłowy adres IP w porównaniu z naszymi zakresami adresów IP.
Czy Laboratorium działa z VPC-SC?
Laboratorium nie działa ze środowiskiem VPC-SC, które blokuje kopiowanie aplikacji i innych artefaktów testowych między wewnętrzną pamięcią masową Laboratorium a zasobnikami wyników użytkowników.
Jak wykrywać niestabilne testy w Laboratorium?
Aby wykryć niestabilne działanie testów, zalecamy użycie opcji
--num-flaky-test-attempts
. Nierozliczone ponowne uruchomienia są rozliczane lub wliczane do limitu dziennego tak samo jak normalne wykonania testów.
Pamiętaj:
Całe wykonanie testu jest uruchamiane ponownie po wykryciu błędu. Nie ma możliwości ponawiania tylko nieudanych przypadków testowych.
Zaplanowane uruchomienia ponawiania będą zaplanowane w tym samym czasie, ale nie będą działać równolegle, na przykład gdy ruch przekroczy liczbę dostępnych urządzeń.
Czy Laboratorium obsługuje aplikacje Appium, Flutter/FlutterDriver, ReactNative/Jest i Ogórek?
Choć niektóre z nich znajdują się w planach, obecnie nie jesteśmy w stanie zapewnić wsparcia dla tych platform testowania i tworzenia aplikacji.
Gdzie znajdę szczegóły urządzenia,
takie jak rozdzielczość itp.?
Szczegółowe informacje o urządzeniu są dostępne w interfejsie API. Można je uzyskać z poziomu klienta gcloud za pomocą poleceniadescribe.
gcloud firebase test ios models describe MODEL
Czy mogę używać fragmentacji w testach iOS?
Fragmentacja nie jest natywnie obsługiwana w Laboratorium dla iOS. Możesz jednak użyć klienta Flank do dzielenia przypadków testowych na iOS.
Jest to możliwe dzięki ustawieniu klucza i wartości OnlyTestIdentifiers w pliku .xctestrun.
Więcej informacji znajdziesz na stronie man dotyczącej xcodebuild.xctestrun.
Znane problemy
Captcha logowania
Test Robo nie może ominąć ekranów logowania, które wymagają od użytkownika dodatkowych działań poza wpisaniem danych logowania, np. przez wykonanie obrazu CAPTCHA.
Obsługa platformy UI
Test Robo działa najlepiej w przypadku aplikacji, które korzystają z elementów interfejsu Androida (w tym obiektów View, ViewGroup i WebView). Jeśli używasz testu Robo do testowania aplikacji, które korzystają z innych struktur interfejsu, w tym tych, które używają silnika gier Unity, test może zakończyć się bez przejścia do pierwszego ekranu.