Ta strona zawiera pomoc w rozwiązywaniu problemów i odpowiedzi na często zadawane pytania dotyczące przeprowadzania testów w Firebase Test Lab. 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
Po wybraniu urządzenia o wysokim poziomie wydajności w katalogu Test Lab testy mogą rozpocząć się 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ż pojemność wybranych urządzeń, ukończenie testów może zająć więcej czasu.
Testy uruchomione na dowolnym poziomie pojemności urządzenia mogą trwać dłużej ze względu na następujące czynniki:
- 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ądzeń w Test Lab, zobacz informacje o pojemności urządzeń z Androidem i iOS .
Niejednoznaczne wyniki testów często pojawiają się z powodu anulowanych przebiegów testów lub błędów infrastruktury.
Błędy infrastruktury są spowodowane wewnętrznymi problemami laboratorium testowego, takimi jak błędy sieci lub nieoczekiwane zachowanie urządzeń. Test Lab wewnętrznie wycofuje przebiegi testów, które wielokrotnie powodują błędy infrastruktury, zanim zgłasza niejednoznaczny wynik; można jednak wyłączyć te ponowne próby, używając metody failFast .
Aby ustalić przyczynę błędu, wykonaj następujące kroki:
- Sprawdź znane awarie w panelu stanu Firebase .
Spróbuj ponownie wykonać test w Laboratorium testowym, aby sprawdzić, czy jest powtarzalny.
Spróbuj uruchomić test na innym urządzeniu lub innym 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.
Dzielenie na fragmenty może spowodować wydłużenie testów, gdy 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 .
Gdy przesyłasz prośbę o test, Twoja aplikacja jest najpierw weryfikowana, ponownie podpisana itd. w ramach przygotowań do uruchomienia testów na urządzeniu. Zwykle ten proces trwa krócej niż kilka sekund, ale mogą na niego wpływać takie czynniki, jak rozmiar Twojej aplikacji.
Po przygotowaniu aplikacji zaplanowane są wykonania testów, które pozostają w kolejce do momentu, gdy urządzenie będzie gotowe do jej uruchomienia. Dopóki wszystkie wykonania testów nie zakończą się, stan macierzy będzie miał wartość „Oczekująca” (niezależnie od tego, czy wykonania testów są w kolejce, czy aktywnie działają).
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 testowania na urządzeniach i korzystania z interfejsów Cloud API. Pamiętaj, że przydział testowy korzysta ze standardowego planu cenowego Firebase, podczas gdy limity Cloud API nie.
Kwota testowa
Przydziały testowania są określane na podstawie liczby urządzeń używanych do uruchamiania testów. Plan Firebase Spark ma stały limit testów bez żadnych kosztów dla użytkowników. W przypadku planu Blaze Twoje limity mogą wzrosnąć, jeśli z czasem zwiększy się Twoje 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 testowy .
Wykorzystanie przydziału testowego możesz monitorować w Google Cloud Console .
Limit interfejsu API do testowania w chmurze
Cloud Testing API ma dwa limity przydziału: żądania dziennie na projekt i żądania co 100 sekund na projekt. Możesz monitorować wykorzystanie w Google Cloud Console .
Limit interfejsu Cloud Tool Results
Interfejs Cloud Tool Results API ma dwa limity przydziału: zapytania na dzień na projekt i zapytania na każde 100 sekund na projekt. Możesz monitorować wykorzystanie w Google Cloud Console .
Więcej informacji o limitach API znajdziesz w artykule Limity Cloud API dla Test Lab . Jeśli osiągnąłeś limit API:
Prześlij prośbę o zwiększenie limitów, edytując limity bezpośrednio w Google Cloud Console (zwróć uwagę, że większość limitów jest domyślnie ustawiona na maksimum) lub
Poproś o wyższe limity interfejsu API, wypełniając formularz prośby w Google Cloud Console lub kontaktując się z pomocą techniczną Firebase .
Ze swojego zaplecza możesz określić, czy ruch pochodzi z urządzeń testowych hostowanych przez Firebase, porównując źródłowy adres IP z naszymi zakresami adresów IP .
Test Lab nie współpracuje z VPC-SC, który blokuje kopiowanie aplikacji i innych artefaktów testowych między wewnętrzną pamięcią Test Lab a zasobnikami wyników użytkowników. W tej chwili złożono prośbę o dodanie obsługi VPC-SC w przyszłej wersji.
Aby wykryć niestabilne zachowanie w testach, zalecamy użycie opcji--num-flaky-test-attempts. Ponowne uruchomienia Deflake są rozliczane lub wliczane do dziennego limitu tak samo, jak normalne wykonania testów.
Pamiętaj o następujących kwestiach:
- Całe wykonanie testu jest uruchamiane ponownie po wykryciu awarii. Nie ma obsługi ponawiania prób tylko przypadków testowych zakończonych niepowodzeniem.
- Uruchomienie ponownych prób Deflake jest zaplanowane w tym samym czasie, ale nie ma gwarancji, że będą działać równolegle, na przykład, gdy ruch przekroczy liczbę dostępnych urządzeń.
Chociaż niektóre z tych elementów są na naszej mapie drogowej, obecnie nie jesteśmy w stanie zapewnić wsparcia dla tych platform testowych i programistycznych.
Szczegółowe informacje o urządzeniu są dostępne za pośrednictwem interfejsu API i można uzyskać do nich dostęp z poziomu klienta gcloud za pomocą polecenia opisującego :
gcloud firebase test ios models describe MODEL
Dzielenie na fragmenty nie jest natywnie obsługiwane w ramach Test Lab dla systemu iOS. Możesz jednak użyć klienta Flank do podzielenia przypadków testowych systemu iOS.
Działa to poprzez ustawienie klucza i wartości OnlyTestIdentifiers
w pliku .xctestrun
. Zobacz stronę man
dla xcodebuild.xctestrun
, aby uzyskać więcej informacji.