Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Uruchom test Robo

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Robo test to narzędzie do testowania zintegrowane z Firebase Test Lab. Robo test analizuje strukturę interfejsu użytkownika aplikacji (UI), a następnie bada go metodycznie, automatycznie symulując działania użytkownika. Robo test zawsze symuluje te same działania użytkownika w tej samej kolejności, gdy używasz go do testowania aplikacji na określonej konfiguracji urządzenia z tymi samymi ustawieniami. To powtarzalne podejście do testowania pozwala używać testu Robo do sprawdzania poprawności poprawek błędów i testowania regresji.

Robo test przechwytuje pliki dziennika, zapisuje serię zrzutów ekranu z adnotacjami, a następnie tworzy wideo z tych zrzutów ekranu, aby pokazać symulowane operacje użytkownika, które wykonał. Te dzienniki, zrzuty ekranu i filmy mogą pomóc w ustaleniu pierwotnej przyczyny awarii aplikacji. Te funkcje testów Robo mogą również pomóc w znalezieniu problemów z interfejsem aplikacji.

Oprócz przeprowadzania regularnych testów Robo, możesz dostosować swoje testy za pomocą skryptów Robo, które są funkcją testów Robo. Aby dowiedzieć się więcej, zobacz Uruchamianie skryptu Robo .

Statystyki indeksowania testów Robo

Aby pomóc Ci zinterpretować wyniki testu Robo, Robo test rejestruje statystyki podczas każdego indeksowania testowego. Laboratorium testowe wyświetla statystyki u góry karty testu Robo na stronie wyników testu:

  • Akcje: Całkowita liczba akcji wykonanych podczas przeszukiwania, w tym akcji skryptu Robo, akcji małpy i dyrektyw Robo.

  • Czynności: liczba odrębnych działań uwzględnionych podczas przeszukiwania.

  • Ekrany: liczba odrębnych ekranów odwiedzonych podczas indeksowania.

Test Lab wykorzystuje również statystyki do stworzenia wizualnej reprezentacji testu Robo w postaci wykresu przeszukiwania. Graf ma ekrany jako węzły i akcje jako krawędzie. Śledząc krawędzie między ekranami, możesz zorientować się, jak test Robo przechodził przez Twoją aplikację podczas indeksowania.

Limit czasu testu Robo

W zależności od złożoności interfejsu użytkownika aplikacji Robo test może zająć pięć minut lub więcej, aby wykonać dokładny zestaw interakcji interfejsu użytkownika. Zalecamy ustawienie limitu czasu testu na co najmniej 120 sekund (2 minuty) w przypadku większości aplikacji i 300 sekund (5 minut) w przypadku średnio złożonych aplikacji. Domyślna wartość limitu czasu to 300 sekund (5 minut) w przypadku testów uruchamianych z Android Studio i konsoli Firebase oraz 900 sekund (15 minut) w przypadku testów uruchamianych z wiersza poleceń gcloud .

Błędy limitu czasu uruchamiania aplikacji

Jeśli uruchamianie Twojej aplikacji zajmuje dużo czasu, Robo test może zgłosić błąd i nie będzie mógł zaindeksować Twojej aplikacji. Dzieje się tak tylko w przypadku bardzo długiego czasu uruchamiania i można to rozwiązać jedynie poprzez zmianę aplikacji, aby uruchamiała się szybciej.

Większa kontrola dzięki skryptom Robo

Czasami potrzebujesz większej kontroli nad swoimi testami. Na przykład możesz chcieć przetestować typową podróż użytkownika lub podać określone dane wejściowe interfejsu użytkownika, takie jak nazwa użytkownika i hasło. Skrypty Robo mogą pomóc. Aby dowiedzieć się więcej o skryptach Robo, zobacz Uruchamianie skryptu Robo i Przewodnik po skryptach Robo .

Testy Robo i widżety interfejsu użytkownika innego niż Android

Testy Robo wykorzystują interfejs Android API do bezpośredniego wykonywania działań na widżetach interfejsu użytkownika systemu Android. Pomaga to testom automatycznie eksplorować Twój interfejs użytkownika, ale oznacza również, że muszą mieć możliwość wyodrębnienia hierarchii interfejsu Androida dla ekranu, aby przeprowadzić na nim testy.

Jeśli ekran w Twojej aplikacji nie korzysta z widżetów interfejsu użytkownika systemu Android, testy Robo opierają się na działaniach małp, aby przetestować ten ekran. W przeciwieństwie do bardziej metodycznych działań testowych Robo, Monkey Actions po prostu symulują zdarzenia stuknięcia w półlosowych miejscach na ekranie urządzenia.

Aby lepiej przetestować ekrany, które nie korzystają z widżetów interfejsu Androida, możesz zastąpić dowolne kliknięcia Monkey Action zestawem stuknięć skryptowych i interakcji za pomocą Firebase Test Lab Game Loop Tests .

Integracja z Google Play

Możesz użyć testu Robo w Konsoli Google Play, gdy przesyłasz i publikujesz plik APK swojej aplikacji przy użyciu kanału alfa lub beta. Test Robo działa na zestawie popularnych urządzeń fizycznych z różnych lokalizacji geograficznych, zapewniając pokrycie testów w różnych obudowach i konfiguracjach sprzętowych. Aby dowiedzieć się więcej, zobacz Używanie raportów przed opublikowaniem do identyfikowania problemów .

Testuj logowanie do konta i predefiniowane wprowadzanie tekstu

Robo test obsługuje logowanie do konta testowego, a także umożliwia wprowadzanie predefiniowanego tekstu w polach w Twojej aplikacji. W przypadku niestandardowego logowania i innych predefiniowanych metod wprowadzania tekstu Robo test może wprowadzać tekst w polach EditText w Twojej aplikacji. Dla każdego ciągu należy zidentyfikować pole EditText za pomocą nazwy zasobu systemu Android. Aby dowiedzieć się więcej, zobacz Dostęp do zasobów .

Zaloguj się

Robo test ma dwie wzajemnie wykluczające się metody obsługi logowania:

  • Niestandardowe logowanie: jeśli podasz dane logowania do konta testowego, musisz powiedzieć Robo test, gdzie ma je wprowadzić, a także podać te dane uwierzytelniające.

  • Automatyczne logowanie: jeśli Twoja aplikacja ma ekran logowania, który używa konta Google do uwierzytelniania, Robo test używa konta testowego Google, chyba że podasz dane logowania konta testowego do niestandardowego logowania.

Aby podać poświadczenia konta testowego na potrzeby logowania niestandardowego, wykonaj następujące czynności:

  1. Na stronie Wybierz wymiary wybierz Opcje dodatkowe .

  2. W obszarze Poświadczenia konta testowego (opcjonalne) wprowadź nazwę użytkownika i hasło, nazwy zasobów oraz nazwę użytkownika i hasło do konta testowego.

Predefiniowane wprowadzanie tekstu

Możesz podać niestandardowy tekst wejściowy dla innych pól tekstowych używanych przez Twoją aplikację. Aby wprowadzić tekst w dodatkowych polach, wykonaj następujące czynności:

  1. Na stronie Wybierz wymiary wybierz Opcje dodatkowe .

  2. W obszarze Dodatkowe pola (opcjonalne) wprowadź jedną lub więcej nazw zasobów oraz ciągi znaków, które mają zostać wprowadzone w odpowiednich polach tekstowych.

Wstępnie zdefiniowane błędy wprowadzania tekstu

Robo test wyszukuje pola EditText z nazwą zasobu systemu Android, która pasuje do podanego wyrażenia regularnego. Jeśli Robo nie może znaleźć pasującego pola, nie wprowadza tekstu, ale kontynuuje indeksowanie w zwykły sposób.

Do testowania możesz podać maksymalnie trzy precyzyjne linki obsługiwane przez Twoją aplikację. Precyzyjne linki są wydawane do Twojej aplikacji zgodnie z intencjami Androida ACTION_VIEW . Dlatego każdy link musi pasować do filtra intencji w Twojej aplikacji.

Jeśli podano co najmniej jeden precyzyjny link, aplikacja jest najpierw uruchamiana normalnie (przy użyciu intencji ACTION_MAIN ) i indeksowana do określonego limitu czasu. Po indeksowaniu głównym każdy precyzyjny link jest indeksowany przez dodatkowe 30 sekund.

Jeśli Robo test nie może znaleźć aktywności pasującej do precyzyjnego linku, Test Lab zignoruje ten link. Problemy z precyzyjnym linkiem są zwykle wynikiem rozbieżności między podanym precyzyjnym linkiem a jego definicją w Twojej aplikacji. Sprawdź zarówno podany adres URL, jak i aplikację pod kątem literówek lub innych niespójności.

Wsparcie licencjonowania aplikacji

Test Lab obsługuje aplikacje korzystające z usługi licencjonowania aplikacji oferowanej przez Google Play. Aby pomyślnie sprawdzić licencje podczas testowania aplikacji w Test Lab, musisz opublikować ją w kanale produkcyjnym w Sklepie Play. Aby przetestować aplikację w kanale alfa lub beta za pomocą Test Lab, usuń sprawdzanie licencji przed przesłaniem aplikacji do Test Lab.

Znane problemy

Test Robo ma obecnie następujące znane ograniczenia:

  • Obsługa struktury interfejsu użytkownika: Test Robo jest zgodny tylko z aplikacjami, które używają elementów interfejsu użytkownika ze struktury interfejsu użytkownika systemu Android (w tym obiektów View i ViewGroup , ale z wyłączeniem obiektów WebView ). Jeśli użyjesz testu Robo do przetestowania aplikacji korzystających z innych ram interfejsu użytkownika, w tym aplikacji korzystających z silnika gry Unity, test może zakończyć się bez eksploracji poza pierwszym ekranem.
  • Captcha logowania: Test Robo nie może ominąć ekranów logowania, które wymagają dodatkowych działań użytkownika poza wprowadzeniem poświadczeń w celu zalogowania się, na przykład wypełnienia Captcha.

Następne kroki