Na tej stronie znajdziesz pomoc w rozwiązywaniu problemów oraz odpowiedzi na często zadawane pytania dotyczące przeprowadzania testów w laboratorium testowym Firebase. Znane problemy są również udokumentowane. Jeśli nie możesz znaleźć tego, czego szukasz lub potrzebujesz dodatkowej pomocy, dołącz do kanału #test-lab w Firebase Slack lub skontaktuj się z pomocą techniczną Firebase .
Rozwiązywanie problemów
Jeśli w katalogu Laboratorium Testowego wybierzesz urządzenie o wysokim poziomie wydajności, testy mogą rozpocząć się szybciej. Jeśli urządzenie ma małą pojemność, testy mogą zająć więcej czasu. Jeśli liczba wywołanych testów jest znacznie większa niż pojemność wybranych urządzeń, zakończenie testów może zająć więcej czasu.
Testy przeprowadzane na dowolnym poziomie wydajności urządzenia mogą potrwać dłużej z następujących powodó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 istnieje zgłoszona infrastruktura dla Laboratorium Testowego, zobacz panel stanu Firebase .
Aby dowiedzieć się więcej o pojemności urządzenia w laboratorium testowym, zapoznaj się z informacjami o pojemności urządzenia dla systemów Android i iOS .
Niejednoznaczne wyniki testów często powstają z powodu anulowania testów lub błędów w infrastrukturze.
Błędy infrastruktury są spowodowane problemami wewnętrznymi laboratorium testowego, takimi jak błędy sieciowe lub nieoczekiwane zachowania urządzeń. Laboratorium testowe wewnętrznie wycofuje przebiegi testowe, które wielokrotnie powodowały błędy w infrastrukturze, zanim zgłoszą niejednoznaczny wynik; można jednak wyłączyć te ponowne próby za pomocą funkcji Fast .
Aby ustalić przyczynę błędu, wykonaj następujące kroki:
- Sprawdź znane awarie w panelu stanu Firebase .
Ponów test w laboratorium testowym, aby sprawdzić, czy jest on powtarzalny.
Spróbuj uruchomić test na innym urządzeniu lub typie urządzenia, jeśli ma to zastosowanie.
Jeśli problem będzie się powtarzał, skontaktuj się z zespołem Test Lab na kanale #test-lab w Firebase Slack.
Fragmentowanie może spowodować wydłużenie czasu trwania testów, jeśli określona liczba fragmentów przekracza liczbę urządzeń dostępnych do użycia w laboratorium testowym. Aby uniknąć tej sytuacji, spróbuj przełączyć się na inne urządzenie. Aby uzyskać więcej informacji na temat wybierania innego urządzenia, zobaczPojemność urządzenia .
Kiedy przesyłasz prośbę o test, Twoja aplikacja jest najpierw sprawdzana, ponownie podpisana itp. w ramach przygotowań do uruchomienia testów na urządzeniu. Zwykle proces ten trwa krócej niż kilka sekund, ale mogą na niego wpływać takie czynniki, jak rozmiar aplikacji.
Po przygotowaniu aplikacji zaplanowane są wykonania testów, które pozostają w kolejce do czasu, aż urządzenie będzie gotowe do jej uruchomienia. Dopóki wszystkie wykonania testów nie zostaną zakończone, macierz będzie miała status „Oczekująca” (niezależnie od tego, czy wykonania testów znajdują się w kolejce, czy są aktywnie uruchomione).
Po zakończeniu wykonywania testu artefakty testowe są pobierane z urządzenia, przetwarzane i przesyłane do Cloud Storage. Na czas trwania tego kroku może mieć wpływ ilość i rozmiar artefaktów.
Często Zadawane Pytania
Firebase Test Lab oferuje bezpłatne limity na testowanie na urządzeniach i korzystanie z Cloud API. Należy pamiętać, że limit testowy wykorzystuje standardowy plan cenowy Firebase, podczas gdy limity Cloud API nie.
Limit testowy
Limity testowania są określane na podstawie liczby urządzeń używanych do przeprowadzania testów. Plan Firebase Spark ma stały limit bezpłatnych testów dla użytkowników. W przypadku planu Blaze Twoje limity mogą wzrosnąć, jeśli z czasem zwiększy się wykorzystanie Google Cloud. Jeśli osiągniesz limit testów, poczekaj do następnego dnia lub przejdź na plan Blaze, jeśli obecnie korzystasz z planu Spark. Jeśli korzystasz już z planu Blaze, możesz poprosić o zwiększenie limitu. Aby uzyskać więcej informacji, zobacz Limit testowania .
Możesz monitorować wykorzystanie limitu testowego w Google Cloud Console .
Limit interfejsu API do testowania w chmurze
Interfejs Cloud Testing API ma dwa limity przydziału: żądania dziennie na projekt i żądania na każde 100 sekund na projekt. Możesz monitorować swoje wykorzystanie w Google Cloud Console .
Limit interfejsu API wyników narzędzia Cloud Tool
Interfejs API Cloud Tool Results API ma dwa limity: liczba zapytań dziennie na projekt i liczba zapytań co 100 sekund na projekt. Możesz monitorować swoje wykorzystanie w Google Cloud Console .
Więcej informacji na temat limitów API można znaleźć w artykule Limity Cloud API dla laboratorium testowego . Jeśli osiągnąłeś limit API:
Prześlij prośbę o większe limity , edytując je bezpośrednio w Google Cloud Console (pamiętaj, że większość limitów jest domyślnie ustawiona na maksimum) lub
Poproś o wyższe limity API, wypełniając formularz żądania w Google Cloud Console lub kontaktując się z pomocą techniczną Firebase .
Z poziomu swojego zaplecza możesz określić, czy ruch pochodzi z urządzeń testowych hostowanych w Firebase, porównując źródłowy adres IP z naszymi zakresami adresów IP .
Laboratorium testowe nie współpracuje z VPC-SC, które blokuje kopiowanie aplikacji i innych artefaktów testowych między pamięcią wewnętrzną laboratorium testowego a zasobnikami wyników użytkowników.
Aby wykryć niestabilne zachowanie w testach, zalecamy użycie opcji--num-flaky-test-attempts. Ponowne uruchomienia Deflake są rozliczane lub wliczane do dziennego limitu w taki sam sposób, jak normalne wykonania testów.
Pamiętaj o następujących kwestiach:
- Całe wykonanie testu jest uruchamiane ponownie po wykryciu błędu. Nie ma obsługi ponawiania tylko nieudanych przypadków testowych.
- Ponowne próby Deflake są zaplanowane w tym samym czasie, ale nie ma gwarancji, że będą działać równolegle, na przykład gdy ruch przekracza liczbę dostępnych urządzeń.
Chociaż niektóre z tych elementów znajdują się w naszym planie działania, obecnie nie jesteśmy w stanie zapewnić wsparcia dla tych platform testowania i tworzenia aplikacji.
Szczegółowe informacje o urządzeniu są dostępne za pośrednictwem interfejsu API i można uzyskać do nich dostęp w kliencie gcloud za pomocą polecenia opisu :
gcloud firebase test ios models describe MODEL
Fragmentowanie nie jest natywnie obsługiwane w laboratorium testowym dla systemu iOS. Można jednak użyć klienta Flank do fragmentowania przypadków testowych systemu iOS.
Działa to poprzez ustawienie klucza i wartości OnlyTestIdentifiers
w pliku .xctestrun
. Więcej szczegółów znajdziesz na stronie man
dla xcodebuild.xctestrun
.
Znane problemy
Test Robo nie może ominąć ekranów logowania, które wymagają od użytkownika dodatkowych działań poza wprowadzeniem danych uwierzytelniających w celu zalogowania się, na przykład wykonaniem testu CAPTCHA.
Test Robo działa najlepiej z aplikacjami korzystającymi z elementów interfejsu użytkownika ze struktury interfejsu użytkownika systemu Android (w tym obiektów View
, ViewGroup
i WebView
). Jeśli używasz testu Robo do ćwiczenia aplikacji korzystających z innych struktur interfejsu użytkownika, w tym aplikacji korzystających z silnika gry Unity, test może zakończyć się bez konieczności przekraczania pierwszego ekranu.