Uruchom test Robo (Android)

Test Robo to narzędzie testowe, które jest zintegrowane z Laboratorium Firebase. Test Robo analizuje strukturę interfejsu użytkownika aplikacji, a potem metodycznie ją analizuje, automatycznie symulując działania użytkownika. Test Robo 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 wykorzystywać test Robo do weryfikowania poprawek błędów i testowania regresji.

Test Robo rejestruje pliki dziennika, zapisuje serię zrzutów ekranu z adnotacjami, a następnie tworzy z nich film, aby pokazać symulowane operacje wykonywane przez użytkownika. Te dzienniki, zrzuty ekranu i filmy mogą pomóc w ustaleniu głównej przyczyny awarii aplikacji. Te funkcje testowe Robo mogą też pomóc w znalezieniu problemów z interfejsem aplikacji.

Oprócz przeprowadzania regularnych testów Robo możesz je dostosowywać za pomocą skryptów Robo, które są częścią testów Robo. Więcej informacji znajdziesz w sekcji Uruchamianie skryptu Robo.

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

Statystyki indeksowania testowego Robo

Aby ułatwić interpretację wyników testu Robo, test Robo rejestruje statystyki podczas każdego indeksowania. Laboratorium wyświetla statystyki na górze karty Test Robo na stronie wyników testu:

  • Działania: łączna liczba działań wykonanych podczas indeksowania, w tym działań skryptu Robo, działań małp i dyrektyw Robo.

  • Działania: liczba różnych działań uwzględnianych podczas indeksowania.

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

Laboratorium wykorzystuje również statystyki do utworzenia wizualnej reprezentacji testu Robo w postaci grafu indeksowania. Ekrany grafem są węzłami, a działaniami – krawędziami. Śledząc granicę między ekranami, możesz zorientować się, jak test Robo poruszał się po Twojej aplikacji podczas indeksowania.

Limit czasu testu Robo

W zależności od złożoności interfejsu aplikacji wykonanie testu Robo może potrwać co najmniej 5 minut. 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ść czasu oczekiwania to 300 sekund (5 minut) w przypadku testów uruchamianych w Android Studio i konsoli Firebase oraz 900 sekund (15 minut) w przypadku testów przeprowadzanych z wiersza poleceń gcloud.

Błędy przekroczenia limitu czasu uruchomienia aplikacji

Jeśli uruchomienie aplikacji trwa bardzo długo, test Robo może zwrócić błąd i nie będzie w stanie jej zindeksować. Problem ten występuje tylko w przypadku bardzo długiego czasu uruchamiania. Problem można rozwiązać tylko przez poprawienie 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ć typową ścieżkę klienta lub podać w interfejsie konkretne dane wejściowe, takie jak nazwa użytkownika i hasło. Skrypty Robo mogą pomóc. Więcej informacji o skryptach Robo znajdziesz w artykułach na temat uruchamiania skryptu Robo i przewodnika po skryptach Robo.

Testy Robo i widżety spoza interfejsu Androida

Testy Robo wykorzystują interfejs Android API do bezpośredniego wykonywania działań na widżetach UI Androida. Dzięki temu testy mogą automatycznie poznawać interfejs użytkownika, ale trzeba też mieć możliwość wyodrębnienia hierarchii UI Androida dla danego ekranu, aby można było na nim przeprowadzić testy.

Jeśli ekran aplikacji nie korzysta z widżetów interfejsu Androida, testy Robo korzystają z funkcji Monkey Actions, aby przetestować dany ekran. W przeciwieństwie do bardziej metodycznych działań testowych Robo, Monkey Actions symuluje po prostu zdarzenia kliknięcia w częściowo przypadkowych 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 wykonane przez Monkey Action zestawem kliknięć i interakcji w ramach testów pętli gry w Firebase Test Lab.

Integracja z Google Play

Możesz przeprowadzić test Robo w Konsoli Google Play podczas przesyłania i publikowania pliku APK aplikacji w kanale alfa lub beta. Test Robo jest przeprowadzany na zbiorze popularnych urządzeń fizycznych w różnych lokalizacjach geograficznych, co zapewnia zasięg testów na różnych formatach i konfiguracjach sprzętowych. Więcej informacji znajdziesz w artykule na temat wykrywania problemów za pomocą raportów przed opublikowaniem.

Logowanie się na konto testowe i wstępny tekst

Test Robo obsługuje logowanie się za pomocą konta testowego, a także umożliwia wpisywanie wstępnie zdefiniowanego tekstu w polach aplikacji. W przypadku logowania niestandardowego i innych wstępnie zdefiniowanych danych tekstowych test Robo może wpisywać tekst w polach EditText w aplikacji. W przypadku każdego ciągu należy zidentyfikować pole EditText przy użyciu nazwy zasobu Androida. Więcej informacji znajdziesz w artykule o uzyskiwaniu dostępu do zasobów.

Logowanie

Test Robo udostępnia 2 obustronnie wykluczające się metody obsługi logowania:

  • Logowanie niestandardowe: jeśli podajesz dane logowania do konta testowego, musisz wskazać Robo testowi, gdzie je wpisać, oraz podać też te dane.

  • Logowanie automatyczne: jeśli aplikacja ma ekran logowania, który korzysta z konta Google do uwierzytelniania, test Robo korzysta z konta testowego Google, chyba że podasz dane logowania do konta testowego na potrzeby niestandardowego logowania.

Aby podać dane logowania do konta testowego na potrzeby logowania niestandardowego, wykonaj te czynności:

  1. Na stronie Wybierz wymiary kliknij Dodatkowe opcje.

  2. W sekcji Dane logowania na konto testowe (opcjonalnie) wpisz nazwy zasobów (nazwa użytkownika i hasło) oraz nazwę użytkownika i hasło do konta testowego.

Wstępnie zdefiniowane pole tekstowe

Możesz wpisać niestandardowe dane wejściowe w innych polach tekstowych używanych przez aplikację. Aby wpisać tekst w dodatkowych polach, wykonaj te czynności:

  1. Na stronie Wybierz wymiary kliknij Dodatkowe opcje.

  2. W sekcji Pola dodatkowe (opcjonalne) wpisz co najmniej 1 nazwę zasobów oraz ciągi do wpisania w odpowiednich polach tekstowych.

Błędy predefiniowanego tekstu {:#predefined-text}

Test Robo wyszukuje pola EditText z nazwą zasobu Androida pasującą do podanego wyrażenia regularnego. Jeśli Robo nie znajdzie pasującego pola, nie wpisze Twojego tekstu, ale poza tym indeksowanie będzie przebiegać jak zwykle.

Do testowania możesz podać maksymalnie 3 precyzyjne linki obsługiwane przez aplikację. Precyzyjne linki są przekazywane do Twojej aplikacji jako intencje Androida ACTION_VIEW. Dlatego każdy link musi pasować do filtra intencji w Twojej aplikacji.

Jeśli podasz co najmniej 1 precyzyjny link, aplikacja zostanie najpierw normalnie uruchomiona (za pomocą intencji ACTION_MAIN) i zindeksowana do określonego czasu oczekiwania. 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 precyzyjnego linku, Laboratorium zignoruje link. Problemy z precyzyjnymi linkami zazwyczaj wynikają z rozbieżności między podanym precyzyjnym linkiem a jego definicją w aplikacji. Sprawdź, czy w podanym adresie URL i w aplikacji nie ma literówek ani innych niespójności.

Pomoc dotycząca licencjonowania aplikacji

Laboratorium obsługuje aplikacje, które korzystają z usługi licencjonowania aplikacji oferowanej przez Google Play. Aby sprawdzić licencje podczas testowania aplikacji w Laboratorium, musisz opublikować aplikację w kanale produkcyjnym w Sklepie Play. Aby przetestować aplikację w wersji alfa lub beta za pomocą Laboratorium, przed przesłaniem aplikacji do Laboratorium usuń weryfikację licencjonowania.

Dalsze kroki