Uruchom test Robo (Android)

Test Robo to narzędzie do testowania zintegrowane z Firebase Test Lab. Test Robo analizuje strukturę interfejsu aplikacji, a następnie metodycznie go sprawdza, automatycznie symulując aktywność użytkownika. Test Robo zawsze symuluje te same aktywności 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 poprawek błędów i testowania pod kątem regresji.

Test Robo przechwytuje pliki dziennika, zapisuje serię zrzutów ekranu z adnotacjami, a następnie tworzy z nich film, aby pokazać symulowane działania użytkownika. Te dzienniki, zrzuty ekranu i filmy mogą pomóc Ci określić główną przyczynę awarii aplikacji. Te funkcje testu Robo mogą też pomóc w znalezieniu problemów z interfejsem aplikacji.

Oprócz przeprowadzania regularnych 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+, zapoznaj się z artykułem Uruchamianie testu Robo.

Statystyki indeksowania testu Robo

Aby ułatwić Ci interpretację wyników testu Robo, podczas każdego testowego indeksowania rejestruje on statystyki. Test Lab wyświetla statystyki u góry 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ń Monkey i dyrektyw Robo.

  • Działania: liczba różnych działań, które zostały wykonane podczas indeksowania.

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

Test Lab wykorzystuje też statystyki do tworzenia wizualnej reprezentacji testu Robo w formie wykresu indeksowania. Węzłami grafu są ekrany, a krawędziami – działania. Podążając za krawędziami między ekranami, możesz dowiedzieć się, jak test Robo przechodził przez aplikację podczas indeksowania.

Limit czasu testu Robo

W zależności od złożoności interfejsu aplikacji test Robo może potrzebować co najmniej 5 minut na wykonanie pełnego zestawu interakcji z interfejsem. W przypadku większości aplikacji zalecamy ustawienie limitu czasu 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ść 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 uruchamianie aplikacji trwa długo, test Robo może zgłosić błąd i nie będzie mógł jej zindeksować. Dzieje się tak tylko w przypadku bardzo długiego czasu uruchamiania. Aby rozwiązać ten problem, musisz zmodyfikować aplikację, aby uruchamiała się szybciej.

Większa kontrola dzięki skryptom Robo

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

Testy Robo i widżety interfejsu spoza Androida

Testy Robo używają interfejsu Android API do wykonywania działań bezpośrednio na widżetach interfejsu Androida. Dzięki temu testy mogą automatycznie sprawdzać interfejs, ale oznacza to również, że aby przeprowadzić testy, muszą mieć możliwość wyodrębnienia hierarchii interfejsu Androida na ekranie.

Jeśli ekran w aplikacji nie używa widżetów interfejsu Androida, testy Robo używają do jego przetestowania działań Monkey. W przeciwieństwie do bardziej metodycznych działań testu Robo działania Monkey po prostu symulują kliknięcia w półlosowych miejscach na ekranie urządzenia.

Aby lepiej przetestować ekrany, które nie używają widżetów interfejsu Androida, możesz zastąpić dowolne kliknięcia działania Monkey zestawem kliknięć i interakcji ze skryptu za pomocą Firebase Test Lab testów pętli gry.

Integracja z Google Play

Testu Robo możesz użyć w Konsoli Google Play, gdy prześlesz i opublikujesz plik APK aplikacji w kanale alfa lub beta. Test Robo jest przeprowadzany na zestawie popularnych urządzeń fizycznych z różnych położeń geograficznych, co zapewnia testowanie na różnych formatach i konfiguracjach sprzętowych. Więcej informacji znajdziesz w artykule Używanie raportów przed opublikowaniem do identyfikowania problemów.

Logowanie się na konto testowe i wstępnie zdefiniowane pole tekstowe

Test Robo obsługuje logowanie się na konto testowe, a także umożliwia wpisywanie wstępnie zdefiniowanego tekstu w polach aplikacji. W przypadku niestandardowego logowania i innych wstępnie zdefiniowanych pól tekstowych test Robo może wpisywać tekst w polach EditText 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 Uzyskiwanie dostępu do zasobów.

Zaloguj się

Test Robo obsługuje 2 wykluczające się metody logowania:

  • Niestandardowe logowanie: jeśli podasz dane logowania na konto testowe, musisz wskazać testowi Robo, gdzie ma je wpisać, i podać te dane.

  • Logowanie automatyczne: jeśli nie podasz danych logowania na konto testowe na potrzeby 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 konta testowego Google.

Aby podać dane logowania na konto testowe na potrzeby niestandardowego logowania:

  1. Na stronie Wybierz wymiary kliknij Dodatkowe opcje.

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

Wstępnie zdefiniowane pole tekstowe

Możesz podać własny tekst do wpisania w innych polach tekstowych używanych przez aplikację. Aby podać tekst do wpisania w dodatkowych polach:

  1. Na stronie Wybierz wymiary kliknij Dodatkowe opcje.

  2. W sekcji Dodatkowe pola (opcjonalnie) wpisz co najmniej 1 nazwę zasobu i ciągi znaków, które chcesz wpisać w odpowiednich polach tekstowych.

Błędy w polu tekstowym ze wstępnie zdefiniowanym tekstem {:#predefined-text}

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

Możesz podać do 3 precyzyjnych linków obsługiwanych przez aplikację, aby je przetestować. Precyzyjne linki są przekazywane do aplikacji jako intencje ACTION_VIEW Androida. Dlatego każdy link musi pasować do filtra intencji w aplikacji.

Jeśli podano co najmniej 1 precyzyjny link, aplikacja jest najpierw uruchamiana normalnie (za pomocą intencji ACTION_MAIN) i jest indeksowana do momentu upłynięcia określonego czasu. Po głównym indeksowaniu każdy precyzyjny link jest indeksowany przez dodatkowe 30 sekund.

Jeśli test Robo nie może znaleźć aktywności pasującej do precyzyjnego linku, Test Lab ignoruje link. Problemy z precyzyjnymi linkami są zwykle spowodowane 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.

Pomoc dotycząca licencjonowania aplikacji

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

Dalsze kroki