Uruchom test Robo (Android)

Test Robo to narzędzie testowe zintegrowane z Firebase Test Lab. Test Robo analizuje strukturę interfejsu użytkownika aplikacji, a następnie metodycznie ją eksploruje, automatycznie symulując aktywność 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 konkretnej konfiguracji urządzenia z tymi samymi ustawieniami. To powtarzalne podejście do testowania umożliwia używanie testu Robo do sprawdzania poprawek błędów i testowania regresji.

Test Robo rejestruje pliki dziennika, zapisuje serię z adnotacjami zrzutów ekranu, a następnie tworzy z nich film, aby pokazać Ci symulowane działania użytkownika. Te dzienniki, zrzuty ekranu i filmy mogą pomóc Ci określić główną przyczynę awarii aplikacji. Funkcje testu Robo mogą też pomóc w znalezieniu problemów z interfejsem 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+, zapoznaj się z artykułem Przeprowadzanie testu Robo.

Statystyki indeksowania testu Robo

Aby ułatwić Ci interpretowanie wyników testu Robo, podczas każdego testu Robo rejestruje 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łania skryptu Robo, działania typu „małpa” i dyrektywy Robo.

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

  • Ekrany: liczba unikalnych ekranów odwiedzonych podczas indeksowania.

Test Lab wykorzystuje też statystyki do tworzenia wizualnej reprezentacji testu Robo w postaci wykresu indeksowania. Wykres ma ekrany jako węzły i działania jako krawędzie. Obserwując krawędzie między ekranami, możesz dowiedzieć się, jak robot testujący poruszał się po aplikacji podczas indeksowania.

Czas oczekiwania testu Robo

W zależności od złożoności interfejsu 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 limitu czasu testu na co najmniej 120 sekund (2 minuty), a w przypadku aplikacji o średnim stopniu złożoności – na 300 sekund (5 minut). Wartość domyślna limitu czasu oczekiwania wynosi 300 sekund (5 minut) w przypadku testów uruchamianych w Android Studio i w Firebase konsoli oraz 900 sekund (15 minut) w przypadku testów uruchamianych z gcloud wiersza poleceń.

Błędy związane z przekroczeniem limitu czasu uruchamiania aplikacji

Jeśli aplikacja uruchamia się zbyt długo, test Robo może zgłosić błąd i nie będzie w stanie jej zindeksować. Dzieje się tak tylko w przypadku bardzo długiego czasu uruchamiania. Możesz to rozwiązać, poprawiając 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ć 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 artykułach Uruchamianie skryptu RoboPrzewodnik po skryptach Robo.

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

Testy Robo używają interfejsu Android API do wykonywania działań bezpośrednio na widżetach interfejsu Androida. Dzięki temu testy mogą automatycznie eksplorować interfejs, ale oznacza to też, że aby przeprowadzić testy na ekranie, muszą być w stanie wyodrębnić hierarchię interfejsu Androida.

Jeśli ekran w aplikacji nie korzysta z widżetów interfejsu Androida, testy Robo wracają do działań Monkey, aby go przetestować. W przeciwieństwie do bardziej metodycznych działań testu Robo, działania Monkey Actions symulują po prostu zdarzenia kliknięcia w półlosowych lokalizacjach na ekranie urządzenia.

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

Integracja z Google Play

Test Robo możesz przeprowadzić w Konsoli Google Play, gdy przesyłasz i publikujesz plik APK aplikacji za pomocą kanału alfa lub beta. Test Robo jest przeprowadzany na zestawie popularnych urządzeń fizycznych z różnych lokalizacji geograficznych, co zapewnia pokrycie testami różnych formatów i konfiguracji sprzętowych. Więcej informacji znajdziesz w artykule Używanie raportów przed opublikowaniem do identyfikowania problemów.

Testowanie logowania na konto testowe i wpisywania wstępnie zdefiniowanego tekstu

Test Robo obsługuje logowanie za pomocą konta testowego, a także umożliwia wpisywanie wstępnie zdefiniowanego tekstu w polach w aplikacji. W przypadku niestandardowego logowania i innych wstępnie zdefiniowanych danych wejściowych 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 ma 2 wzajemnie wykluczające się metody obsługi logowania:

  • Logowanie niestandardowe: jeśli podasz dane logowania do konta testowego, musisz poinformować test Robo, gdzie należy je wpisać, a także podać te dane.

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

Aby podać dane logowania na konto testowe w przypadku niestandardowego logowania:

  1. Na stronie Wybierz wymiary kliknij Dodatkowe opcje.

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

Wprowadzanie wstępnie zdefiniowanego 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:

  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 mają zostać wpisane w odpowiednich polach tekstowych.

Błędy wstępnie zdefiniowanego pola tekstowego {:#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ć maksymalnie 3 precyzyjne linki obsługiwane przez aplikację do testowania. Precyzyjne linki są wysyłane do Twojej aplikacji jako intencje AndroidaACTION_VIEW. Dlatego każdy link musi pasować do filtra intencji w aplikacji.

Jeśli podano co najmniej 1 link bezpośredni, aplikacja jest najpierw uruchamiana normalnie (za pomocą intencji ACTION_MAIN) i indeksowana 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 precyzyjnego linku, Test Labzignoruje ten link. Problemy z precyzyjnymi linkami zwykle wynikają z rozbieżności między podanym precyzyjnym linkiem a jego definicją w aplikacji. Sprawdź, czy w podanym adresie URL i aplikacji nie ma błędów ani innych niezgodności.

Pomoc dotycząca licencjonowania aplikacji

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

Dalsze kroki