Uruchom test Robo (Android)

Robo test to narzędzie testowe zintegrowane z Firebase Test Lab. Test Robo analizuje strukturę interfejsu użytkownika (UI) aplikacji, a następnie bada ją metodycznie, automatycznie symulując działania użytkownika. Test Robo zawsze symuluje te same działania użytkownika w tej samej kolejności, jeśli 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 poprawek błędów i testowania regresji.

Test Robo 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 użytkownika 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 .

Jeśli chcesz wypróbować wersję Beta Robo na iOS+, zobacz Uruchamianie testu Robo .

Statystyki indeksowania testów Robo

Aby pomóc Ci zinterpretować wyniki testu Robo, test Robo 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 akcje skryptu Robo, akcje małpy i dyrektywy Robo.

  • Działania: liczba odrębnych działań uwzględnionych podczas przeszukiwania.

  • Ekrany: liczba różnych ekranów odwiedzonych podczas indeksowania.

Laboratorium testowe wykorzystuje również statystyki do stworzenia wizualnej reprezentacji testu Robo w formie wykresu indeksowania. Graf ma ekrany jako węzły i działania jako krawędzie. Śledząc krawędzie między ekranami, możesz zorientować się, jak test Robo przeszedł przez Twoją aplikację podczas indeksowania.

Przekroczono limit czasu testu Robo

W zależności od złożoności interfejsu użytkownika aplikacji wykonanie pełnego zestawu interakcji z interfejsem użytkownika może zająć pięć minut lub dłużej. 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 aplikacji średnio złożonych. 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 związane z przekroczeniem limitu czasu uruchamiania aplikacji

Jeśli uruchomienie aplikacji zajmuje dużo czasu, test Robo może zgłosić błąd i nie będzie mógł jej zindeksować. Dzieje się tak tylko w przypadku wyjątkowo długiego czasu uruchamiania i można temu zaradzić jedynie poprzez zmianę aplikacji, aby przyspieszyć jej uruchamianie.

Większa kontrola dzięki skryptom Robo

Czasami potrzebujesz większej kontroli nad testami. Możesz na przykład przetestować wspólną 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 API systemu Android do bezpośredniego wykonywania działań na widżetach interfejsu użytkownika systemu Android. Pomaga to testom automatycznie eksplorować interfejs użytkownika, ale oznacza również, że muszą mieć możliwość wyodrębnienia hierarchii interfejsu użytkownika Androida dla ekranu, aby uruchomić na nim testy.

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

Aby lepiej testować ekrany, które nie korzystają z widżetów interfejsu użytkownika Androida, możesz zastąpić dowolne dotknięcia Monkey Action zestawem skryptowych dotknięć i interakcji za pośrednictwem testów pętli gier w laboratorium testowym Firebase .

Integracja z Google Play

Możesz użyć testu Robo w Konsoli Google Play, przesyłając i publikując plik APK swojej aplikacji, korzystając z kanału alfa lub beta. Test Robo działa na zestawie popularnych urządzeń fizycznych z różnych lokalizacji geograficznych, zapewniając pokrycie testami w różnych obudowach i konfiguracjach sprzętowych. Aby dowiedzieć się więcej, zobacz Korzystanie z raportów przed opublikowaniem w celu identyfikacji problemów .

Przetestuj logowanie na konto i wstępnie zdefiniowane wprowadzanie tekstu

Robo test obsługuje logowanie do konta testowego, a także pozwala na wprowadzenie predefiniowanego tekstu do pól w aplikacji. W przypadku niestandardowego logowania i innego predefiniowanego wprowadzania tekstu Robo test może wprowadzić tekst w polach EditText w Twojej aplikacji. Dla każdego ciągu należy zidentyfikować pole EditText przy użyciu nazwy zasobu systemu Android. Aby dowiedzieć się więcej, zobacz Dostęp do zasobów .

Zalogować się

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

  • Niestandardowe logowanie: jeśli podasz dane logowania do konta testowego, musisz poinformować Robo Test, gdzie je wprowadzić, a także podać te dane.

  • Automatyczne logowanie: jeśli Twoja aplikacja ma ekran logowania korzystający z konta Google do uwierzytelnienia, Robo test korzysta z konta testowego Google, chyba że podasz dane 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 (opcjonalnie) wprowadź nazwę użytkownika i hasło, nazwy zasobów oraz nazwę użytkownika i hasło do konta testowego.

Wstępnie zdefiniowane 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 do wprowadzenia w odpowiednich polach tekstowych.

Predefiniowane błędy wprowadzania tekstu {:#predefiniowane-tekst}

Test Robo wyszukuje pola EditText z nazwą zasobu Androida pasującą do podanego wyrażenia regularnego. Jeśli Robo nie może znaleźć pasującego pola, nie wprowadza tekstu, ale w przeciwnym razie kontynuuje indeksowanie w zwykły sposób.

Możesz udostępnić do testów maksymalnie trzy precyzyjne linki obsługiwane przez Twoją aplikację. Precyzyjne linki są wysyłane do Twojej aplikacji jako intencje ACTION_VIEW na Androida. 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 przeszukiwana do określonego limitu czasu. Po głównym indeksowaniu każdy precyzyjny link jest indeksowany przez dodatkowe 30 sekund.

Jeśli test Robo nie znajdzie aktywności pasującej do Twojego precyzyjnego linku, laboratorium testowe zignoruje link. Problemy z precyzyjnymi linkami są zwykle wynikiem rozbieżności między podanym precyzyjnym linkiem a jego definicją w aplikacji. Sprawdź podany adres URL i aplikację pod kątem literówek lub innych niespójności.

Wsparcie w zakresie licencjonowania aplikacji

Laboratorium testowe obsługuje aplikacje korzystające z usługi licencjonowania aplikacji oferowanej przez Google Play. Aby pomyślnie sprawdzić licencję podczas testowania aplikacji w Test Lab, musisz opublikować swoją aplikację na kanale produkcyjnym w sklepie Play. Aby przetestować aplikację w kanale alfa lub beta za pomocą Laboratorium testowego, usuń kontrolę licencji przed przesłaniem aplikacji do laboratorium testowego.

Następne kroki