Uruchom test Robo (Android)

Test Robo to narzędzie do testowania zintegrowane z Firebase Test Lab. Test automatyczny analizuje strukturę interfejsu użytkownika aplikacji, a następnie metodycznie i automatycznie bada go, symulując działania użytkownika. Test Robo zawsze symuluje te same działania użytkownika w tym samym porządku, gdy używasz go do testowania aplikacji na określonej konfiguracji urządzenia z tymi samymi ustawieniami. To powtarzalne podejście do testowania umożliwia korzystanie z testu Robo do sprawdzania poprawności naprawionych 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 testów automatycznych mogą też pomóc w znalezieniu problemów z interfejsem aplikacji.

Oprócz uruchamiania zwykłych testów Robo możesz dostosować testy za pomocą skryptów Robo, które są funkcją 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 testu Robo

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

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

  • Activities (Działania): liczba różnych działań objętych indeksowaniem.

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

Test Lab wykorzystuje też statystyki do tworzenia wizualnego przedstawienia testu Robotest w postaci wykresu indeksowania. Węzły w tym grafu to ekrany, a krawędzie to działania. Śledzenie krawędzi między ekranami pozwala zobaczyć, jak test Robo poruszał się po aplikacji podczas indeksowania.

Limit czasu testu Robo

W zależności od złożoności interfejsu aplikacji test Robo może potrwać ponad 5 minut, aby przetestować wszystkie interakcje z interfejsem. Zalecamy ustawienie limitu czasu testu na co najmniej 120 sekund (2 minuty) w przypadku większości aplikacji oraz 300 sekund (5 minut) w przypadku aplikacji o średniej złożoności. Domyślny limit czasu wynosi 300 sekund (5 minut) w przypadku testów uruchamianych z poziomu Android Studio i konsoli Firebase oraz 900 sekund (15 minut) w przypadku testów uruchamianych z poziomu wiersza poleceń gcloud.

Błędy przekroczenia limitu czasu uruchomienia aplikacji

Jeśli uruchomienie aplikacji zajmuje dużo czasu, 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ć typowy proces użytkownika lub podać określone dane wejściowe interfejsu, takie jak nazwa użytkownika i hasło. Skrypty Robo mogą pomóc. Więcej informacji o skryptach Robo znajdziesz w artykule Przeprowadzanie operacji za pomocą skryptu Roboprzewodniku po skryptach Robo.

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

Testy Robo korzystają z interfejsu Android API, aby bezpośrednio wykonywać działania na elementach interfejsu użytkownika Androida. Dzięki temu testy mogą automatycznie analizować interfejs użytkownika, ale oznacza to też, że muszą mieć możliwość wyodrębnienia hierarchii interfejsu Androida na danym ekranie, aby móc przeprowadzić na nim testy.

Jeśli ekran w aplikacji nie korzysta z widżetów interfejsu użytkownika Androida, testy Robo korzystają z działań Monkey, aby przetestować ten 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 testować ekrany, które nie korzystają z widżetów interfejsu użytkownika Androida, możesz zastąpić dowolne kliknięcia w Monkey Action zestawem kliknięć i interakcji z wykorzystaniem skryptu w Firebase Test Lab testach pętli gry.

Integracja z Google Play

Test Robo w Konsoli Google Play możesz użyć podczas przesyłania i publikowania pliku APK aplikacji za pomocą kanału alfa lub beta. Test Robo jest przeprowadzany na zestawach popularnych urządzeń fizycznych z różnych lokalizacji geograficznych, co zapewnia pokrycie testów 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 się na konto testowe i wstępny tekst

Test Robo obsługuje logowanie na koncie testowym i umożliwia wpisywanie wstępnie zdefiniowanego tekstu w polach w aplikacji. W przypadku niestandardowego logowania i innych wstępnie zdefiniowanych danych wejściowych tekstowych test Robo może wpisywać tekst w polach EditText w aplikacji. W przypadku każdego ciągu musisz zidentyfikować pole EditText za pomocą nazwy zasobu Androida. Więcej informacji znajdziesz w artykule [GA4] Dostęp do zasobów.

Zaloguj się

Testowanie automatyczne ma 2 metody obsługi logowania, które są wzajemnie wykluczające się:

  • Logowanie niestandardowe: jeśli podasz dane logowania do konta testowego, musisz podać Robo Test, gdzie je wpisać.

  • Logowanie automatyczne: jeśli aplikacja ma ekran logowania, który do uwierzytelniania wykorzystuje konto Google, 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 Wybieranie wymiarów kliknij Dodatkowe opcje.

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

Wstępnie zdefiniowane pole tekstowe

Możesz podać niestandardowy tekst wprowadzany w innych polach tekstowych używanych przez aplikację. Aby podać tekst wprowadzany w dodatkowych polach, wykonaj te czynności:

  1. Na stronie Wybieranie wymiarów kliknij Dodatkowe opcje.

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

Błędy w danych wejściowych wstępnie zdefiniowanego tekstu {:#predefined-text}

Testowanie automatyczne wyszukiwania pól EditText z nazwą zasobu Androida, która pasuje 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 testów możesz podać maksymalnie 3 precyzyjne linki obsługiwane przez Twoją aplikację. Precyzyjne linki są wysyłane do Twojej 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 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, Test Lab 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

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

Dalsze kroki