Test Robo to narzędzie testowe zintegrowane z Firebase Test Lab. Test Robo analizuje strukturę interfejsu użytkownika aplikacji, a następnie metodycznie ją bada, 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 urządzeniu o określonej konfiguracji 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ę opatrzonych adnotacjami zrzutów ekranu, a następnie tworzy z nich film, aby pokazać Ci symulowane działania użytkownika. 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 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 Robo na iOS+, przeczytaj artykuł Przeprowadzanie testu Robo.
Statystyki indeksowania testu Robo
Aby ułatwić Ci interpretowanie wyników testu Robo, rejestruje on statystyki podczas każdego indeksowania testowego. 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 „monkey” i dyrektywy Robo.
Działania: liczba różnych działań objętych podczas indeksowania.
Ekrany: liczba różnych ekranów odwiedzonych podczas indeksowania.
Test Lab wykorzystuje też statystyki do tworzenia wizualnej reprezentacji testu Robo w postaci wykresu indeksowania. Węzłami wykresu są ekrany, a krawędziami – działania. Śledząc krawędzie między ekranami, możesz sprawdzić, jak test Robo poruszał się po aplikacji podczas skanowania.
Limit czasu 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 to 300 sekund (5 minut) w przypadku testów uruchamianych z Androida Studio i Firebase konsoli oraz 900 sekund (15 minut) w przypadku testów uruchamianych z gcloud wiersza poleceń.
Błędy związane z przekroczeniem czasu oczekiwania na uruchomienie aplikacji
Jeśli aplikacja uruchamia się zbyt długo, test Robo może zgłosić błąd i nie będzie w stanie jej przetestować. Dzieje się tak tylko w przypadku bardzo długiego czasu uruchamiania. Można 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ć 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 artykułach Uruchamianie skryptu Robo i Przewodnik po skryptach Robo.
Testy Robo i widżety interfejsu użytkownika na urządzeniach innych niż Android
Testy Robo używają interfejsu Android API do bezpośredniego wykonywania działań 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ń testowych Robo, działania Monkey Actions po prostu symulują 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 w ramach działania Monkey Action zestawem kliknięć i interakcji w postaci skryptu za pomocą Firebase Test Labtestó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 w kanale alfa lub beta. Test Robo jest przeprowadzany na zestawie popularnych urządzeń fizycznych z różnych lokalizacji geograficznych, co zapewnia pokrycie testowe 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 na konto testowe i umożliwia wpisywanie wstępnie zdefiniowanego tekstu w polach 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 obsługuje logowanie na 2 wzajemnie wykluczające się sposoby:
Logowanie niestandardowe: jeśli podasz dane logowania na konto testowe, musisz poinformować test Robo, gdzie należy je wpisać, a także podać te dane.
Automatyczne logowanie: jeśli nie podasz danych logowania na konto testowe w przypadku logowania niestandardowego, używane będzie logowanie automatyczne. Test Robo może automatycznie logować się w aplikacjach utworzonych za pomocą standardowych widżetów Androida lub aplikacji Compose, korzystając z testowego konta Google.
Aby podać dane logowania na konto testowe w przypadku niestandardowego logowania:
Na stronie Wybierz wymiary kliknij Dodatkowe opcje.
W sekcji Test account credentials (Optional) (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.
Pole tekstowe z wstępnie zdefiniowanym tekstem
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:
Na stronie Wybierz wymiary kliknij Dodatkowe opcje.
W sekcji Dodatkowe pola (opcjonalne) 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 wprowadzania tekstu {:#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 wprowadzi tekstu, ale będzie kontynuować indeksowanie jak zwykle.
Precyzyjne linki
Możesz podać maksymalnie 3 precyzyjne linki obsługiwane przez aplikację do testowania.
Precyzyjne linki są wysyłane do aplikacji jako intencje AndroidaACTION_VIEW. 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 indeksowana do określonego limitu czasu. Po głównym indeksowaniu każdy precyzyjny link jest indeksowany przez dodatkowe 30 sekund.
Błędy precyzyjnych linków
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 w aplikacji nie ma błędów pisowni ani innych niezgodności.
Pomoc dotycząca licencjonowania aplikacji
Test Lab obsługuje aplikacje korzystające z usługi Licencjonowanie aplikacji oferowanej przez Google Play. Aby podczas testowania aplikacji za pomocą Test Lab sprawdzić licencjonowanie, musisz opublikować aplikację w kanale produkcyjnym w Sklepie Play. Aby przetestować aplikację na ścieżce alfa lub beta za pomocą Test Lab, przed przesłaniem aplikacji do Test Lab usuń sprawdzanie licencji.
Dalsze kroki
- Dostosuj testy za pomocą skryptów Robo.