Uruchom test Robo (Android)

Test Robo to narzędzie do testowania zintegrowane z Firebase Test Lab. Test Robo analizuje strukturę interfejsu użytkownika aplikacji, a następnie bada ją metodycznie, automatycznie symulując działania użytkownika. Gdy używasz testu Robo do testowania aplikacji w określonej konfiguracji urządzenia z tymi samymi ustawieniami, zawsze symuluje on te same działania użytkownika w tej samej kolejności. Dzięki temu powtarzalnemu podejściu do testowania możesz używać testu Robo do sprawdzania poprawek błędów i testowania regresji.

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

Oprócz przeprowadzania zwykłych testów Robo możesz dostosowywać testy za pomocą skryptów Robo, które są funkcją testów Robo. Więcej informacji znajdziesz w artykule Uruchamianie skryptu Robo.

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

Statystyki indeksowania testu Robo

Aby ułatwić interpretowanie wyników testu Robo, podczas każdego indeksowania testowego rejestruje on statystyki. Test Lab wyświetla statystyki u góry karty testu Robo na stronie wyników testu:

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

  • Aktywności: liczba różnych aktywności objętych indeksowaniem.

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

Test Lab używa też statystyk do tworzenia wizualizacji testu Robo w postaci wykresu indeksowania. Wykres 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 poruszał się po aplikacji podczas indeksowania.

Czas oczekiwania testu Robo

W zależności od złożoności interfejsu użytkownika aplikacji test Robo może potrzebować 5 minut lub więcej, aby wykonać pełny zestaw interakcji z interfejsem. W przypadku większości aplikacji zalecamy ustawienie czasu oczekiwania testu na co najmniej 120 sekund (2 minuty), a w przypadku aplikacji o średniej złożoności – na 300 sekund (5 minut). Domyślna wartość czasu oczekiwania 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 gcloud poleceń.

Błędy związane z czasem oczekiwania na uruchomienie aplikacji

Jeśli uruchomienie aplikacji trwa długo, test Robo może zgłosić błąd i nie będzie mógł jej zaindeksować. Dzieje się tak tylko w przypadku bardzo długiego czasu uruchamiania i można to rozwiązać tylko przez poprawienie aplikacji, aby uruchamiała się szybciej.

Większa kontrola dzięki skryptom Robo

Czasami potrzebujesz większej kontroli nad testami. Możesz na przykład chcieć przetestować typową ścieżkę użytkownika lub podać konkretne dane wejściowe interfejsu użytkownika, takie jak nazwa użytkownika i hasło. Skrypty Robo mogą Ci w tym pomóc. Więcej informacji o skryptach Robo znajdziesz w artykułach Uruchamianie skryptu Robo i Przewodnik po skryptach Robo.

Testy Robo i widżety interfejsu użytkownika inne niż na Androidzie

Testy Robo używają interfejsu Android API do wykonywania działań bezpośrednio na widżetach interfejsu użytkownika Androida. Dzięki temu testy mogą automatycznie badać interfejs użytkownika, ale muszą też mieć możliwość wyodrębnienia hierarchii interfejsu użytkownika Androida dla ekranu, aby móc na nim przeprowadzać testy.

Jeśli ekran w aplikacji nie używa widżetów interfejsu użytkownika Androida, testy Robo używają działań typu monkey do testowania tego ekranu. W przeciwieństwie do bardziej metodycznych działań testu Robo działania typu monkey po prostu symulują zdarzenia dotknięcia w półlosowych lokalizacjach na ekranie urządzenia.

Aby lepiej testować ekrany, które nie używają widżetów interfejsu użytkownika Androida, możesz zastąpić dowolne dotknięcia działania typu monkey zestawem dotknięć i interakcji skryptowych za pomocą Firebase Test Lab testów pętli gry.

Integracja z Google Play

Podczas przesyłania i publikowania pliku APK aplikacji za pomocą kanału alfa lub beta możesz używać testu Robo w Konsoli Google Play. Test Robo działa na zestawie popularnych urządzeń fizycznych z różnych lokalizacji geograficznych, co zapewnia pokrycie testowe w różnych formatach i konfiguracjach sprzętowych. Więcej informacji znajdziesz w artykule Używanie raportów przed opublikowaniem do identyfikowania problemów.

Logowanie na konto testowe i wstępnie zdefiniowane wprowadzanie tekstu

Test Robo obsługuje logowanie na konto testowe, a także umożliwia wprowadzanie wstępnie zdefiniowanego tekstu w polach w aplikacji. W przypadku logowania niestandardowego i innych wstępnie zdefiniowanych danych wejściowych test Robo może wprowadzać tekst w EditText polach w aplikacji. W przypadku każdego ciągu znaków musisz zidentyfikować pole EditText za pomocą nazwy zasobu Androida. Więcej informacji znajdziesz w artykule Dostęp do zasobów.

Zaloguj się

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

  • Logowanie niestandardowe: jeśli podasz dane logowania na konto testowe, musisz poinformować test Robo, gdzie je wprowadzić, a także podać te dane.

  • Logowanie automatyczne: jeśli nie podasz danych logowania na konto testowe w przypadku logowania niestandardowego, używane jest logowanie automatyczne. Test Robo może automatycznie logować się w aplikacjach utworzonych za pomocą standardowych widżetów Androida lub aplikacji Compose, używając testowego konta Google.

Aby podać dane logowania na konto testowe w przypadku logowania niestandardowego, wykonaj te czynności:

  1. Na stronie Wybierz wymiary kliknij Opcje dodatkowe.

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

Wstępnie zdefiniowane wprowadzanie tekstu

Możesz podać niestandardowy tekst wejściowy w przypadku innych pól tekstowych używanych przez aplikację. Aby podać tekst wejściowy w przypadku dodatkowych pól, wykonaj te czynności:

  1. Na stronie Wybierz wymiary kliknij Opcje dodatkowe.

  2. W sekcji Pola dodatkowe (opcjonalnie) wpisz co najmniej 1 nazwę zasobu oraz ciągi znaków, które mają zostać wpisane w odpowiednich polach tekstowych.

Błędy związane ze wstępnie zdefiniowanym wprowadzaniem tekstu {:#predefined-text}

Test Robo wyszukuje pola EditText z nazwą zasobu Androida, która pasuje do podanego wyrażenia regularnego. Jeśli test Robo nie znajdzie pasującego pola, nie wprowadzi tekstu, ale będzie kontynuować indeksowanie jak zwykle.

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

Jeśli podasz co najmniej 1 precyzyjny link, aplikacja zostanie najpierw uruchomiona normalnie (za pomocą ACTION_MAIN intencji) i zaindeksowana 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, Test Lab zignoruje ten link. Problemy z precyzyjnymi linkami są zwykle spowodowane rozbieżnością między podanym precyzyjnym linkiem a jego definicją w aplikacji. Sprawdź, czy w podanym adresie URL i aplikacji nie ma literówek ani innych niezgodności.

Obsługa licencjonowania aplikacji

Test Lab obsługuje aplikacje, które korzystają z usługi licencjonowania aplikacji oferowanej przez Google Play. Aby podczas testowania aplikacji w Test Labmożna było sprawdzić licencję, musisz opublikować aplikację w kanale produkcyjnym w Sklepie Play. Aby przetestować aplikację w kanale alfa lub beta za pomocą Test Lab, przed przesłaniem aplikacji do Test Lab usuń sprawdzanie licencji.

Dalsze kroki