Google is committed to advancing racial equity for Black communities. See how.
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Zacznij od testów Robo

Robo test to narzędzie testowe 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żytkowników. W przeciwieństwie do testu UI / Application Exerciser Monkey , Robo test zawsze symuluje te same działania użytkownika w tej samej kolejności, gdy używasz go do testowania aplikacji na określonej konfiguracji urządzenia z tymi samymi ustawieniami. Dzięki temu możesz używać testu Robo do sprawdzania poprawek błędów i testowania pod kątem regresji w sposób, który nie jest możliwy podczas testowania za pomocą testu UI / Application Exerciser Monkey .

Robo test przechwytuje pliki dziennika, zapisuje serię zrzutów ekranu z adnotacjami, a następnie tworzy wideo z tych zrzutów ekranu, aby pokazać symulowane operacje użytkownika, które wykonał. Te dzienniki, zrzuty ekranu i filmy mogą pomóc w ustaleniu głównej przyczyny awarii aplikacji, a także mogą pomóc w znalezieniu problemów z interfejsem aplikacji.

Statystyki indeksowania testu Robo

Aby pomóc Ci zinterpretować wyniki testów Robo, Robo rejestruje statystyki podczas każdego indeksowania testu. Test Lab wyświetla statystyki u góry karty Robo na stronie wyników testu:

  • Działania: całkowita liczba działań wykonanych podczas przeszukiwania, w tym działania skryptu Robo, działania małpy i dyrektywy Robo.
  • Czynności: liczba różnych czynności objętych podczas indeksowania.
  • Ekrany: liczba różnych ekranów odwiedzonych podczas indeksowania.

Test Lab wykorzystuje również statystyki do tworzenia wizualnej reprezentacji indeksowania Robo w formie wykresu indeksowania. Graf ma ekrany jako węzły i akcje jako krawędzie. Śledząc krawędzie między ekranami, możesz zorientować się, jak Robo przechodził przez Twoją aplikację podczas indeksowania.

Limit czasu testu Robo

W zależności od złożoności interfejsu użytkownika aplikacji, test Robo może zająć pięć minut lub dłużej, aby zakończyć dokładny zestaw interakcji interfejsu użytkownika. Zalecamy ustawienie limitu czasu testu na co najmniej 120 sekund (2 minuty) dla większości aplikacji i 300 sekund (5 minut) dla średnio złożonych aplikacji. Domyślna wartość limitu czasu to 300 sekund (5 minut) w przypadku testów uruchamianych z Android Studio i Google Developer Console oraz 1500 sekund (25 minut) w przypadku testów uruchamianych z gcloud poleceń gcloud .

Błędy limitu czasu uruchamiania aplikacji

Jeśli uruchomienie Twojej aplikacji zajmuje dużo czasu, Robo może zgłosić błąd i nie będzie w stanie zindeksować Twojej aplikacji. Dzieje się tak tylko w przypadku bardzo długiego czasu uruchamiania i można go rozwiązać tylko poprzez zmianę aplikacji, aby działała szybciej.

Większa kontrola dzięki skryptom Robo

Czasami potrzebujesz większej kontroli nad swoimi testami. Na przykład możesz chcieć przetestować wspólną podróż użytkownika lub podać określone dane wejściowe interfejsu użytkownika, takie jak nazwa użytkownika i hasło. Pomocne mogą być skrypty Robo.

Dzięki skryptom Robo rejestrujesz siebie przechodząc przez przepływ pracy w aplikacji, a następnie przesyłasz to nagranie do konsoli Firebase w celu uruchomienia w testach Robo. Kiedy uruchamiasz test Robo z dołączonym skryptem, Robo najpierw przechodzi przez twoje wstępnie zaprogramowane działania, a następnie przechodzi do normalnego przeglądania aplikacji.

Zacznij korzystać ze skryptów Robo za pomocą narzędzia Firebase w Android Studio:

  1. Otwórz Android Studio.
  2. W menu głównym wybierz Narzędzia > Firebase .
  3. Wybierz Test Lab i kliknij Record Robo Script i użyj go do poprowadzenia testu Robo .
  4. Wykonaj pozostałe kroki w narzędziu, aby nagrać swój skrypt Robo.
  5. Prześlij ten skrypt Robo do laboratorium testowego i rozpocznij test.

Błędy skryptu Robo

Jeśli skrypt Robo zawiedzie w dowolnym momencie, Test Lab porzuca wszystkie dalsze kroki w skrypcie i wznawia zwykłe indeksowanie Robo. Najczęściej skrypty Robo zawodzą, ponieważ Test Lab nie jest w stanie znaleźć potrzebnego elementu na ekranie. Aby uniknąć błędów, upewnij się, że nawigacja w aplikacji jest przewidywalna, a ekrany nie są wyświetlane w niedeterministycznej kolejności.

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

Testy Robo używają interfejsu API systemu Android do bezpośredniego wykonywania działań na widżetach interfejsu użytkownika systemu Android. Pomaga to testom w automatycznym eksplorowaniu interfejsu użytkownika, ale oznacza również, że muszą mieć możliwość wyodrębnienia hierarchii interfejsu użytkownika systemu Android dla ekranu, aby przeprowadzić na nim testy.

Jeśli ekran w Twojej aplikacji nie korzysta z widżetów interfejsu użytkownika Androida, testy Robo powracają do Monkey Actions, aby przetestować ten ekran. W przeciwieństwie do bardziej metodycznych działań Robo, Monkey Actions po prostu symulują zdarzenia dotknięcia w częściowo 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 Małpiej akcji zestawem skryptów dotknięć i interakcji za pośrednictwem testów pętli gier Firebase Test Lab .

Integracja z Google Play

Możesz użyć testu Robo w Konsoli Google Play podczas przesyłania i publikowania pliku APK aplikacji za pomocą kanału alfa lub beta. Test Robo działa na zestawie popularnych urządzeń fizycznych z różnych lokalizacji geograficznych, zapewniając pokrycie testów w różnych rozmiarach i konfiguracjach sprzętowych. Aby dowiedzieć się więcej, zobacz Używanie raportów przed opublikowaniem do identyfikowania problemów .

Przetestuj logowanie na konto i wstępnie zdefiniowane wprowadzanie tekstu

Test Robo obsługuje logowanie na konto testowe, a także umożliwia wprowadzanie predefiniowanego tekstu do pól w aplikacji. W przypadku niestandardowego logowania i innego wstępnie zdefiniowanego wprowadzania tekstu Robo test może wprowadzić tekst do pól EditText w Twojej aplikacji. Dla każdego ciągu musisz zidentyfikować pole EditText przy użyciu nazwy zasobu systemu Android. Aby dowiedzieć się więcej, zobacz Uzyskiwanie dostępu do zasobów .

Zaloguj się

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

  • Logowanie niestandardowe: jeśli podajesz dane logowania do konta testowego, musisz powiedzieć Robo testowi, gdzie je wprowadzić, a także podać te poświadczenia.
  • Logowanie automatyczne: jeśli Twoja aplikacja ma ekran logowania, który używa konta Google do uwierzytelniania, Robo test używa konta testowego Google, chyba że podasz dane logowania do konta testowego na potrzeby logowania niestandardowego.

Aby podać poświadczenia konta testowego na potrzeby logowania niestandardowego, wykonaj następujące czynności:

  1. Na stronie Wybierz wymiary wybierz opcję Dodatkowe opcje .
  2. W obszarze Poświadczenia konta testowego (opcjonalnie) wprowadź nazwę użytkownika i hasło do zasobów oraz nazwę użytkownika i hasło do konta testowego.

Wstępnie zdefiniowana metoda wprowadzania tekstu

Możesz podać niestandardowy tekst wejściowy dla innych pól tekstowych używanych w Twojej aplikacji. Aby wprowadzić tekst w dodatkowych polach, wykonaj następujące czynności:

  1. Na stronie Wybierz wymiary wybierz opcję Dodatkowe opcje .
  2. W obszarze Pola dodatkowe (opcjonalne) wprowadź co najmniej jedną nazwę zasobu oraz ciągi znaków do wprowadzenia w odpowiednich polach tekstowych.

Predefiniowane błędy wprowadzania tekstu

Robo wyszukuje pola EditText z nazwą zasobu systemu Android, która pasuje do podanego wyrażenia regularnego. Jeśli Robo nie może znaleźć pasującego pola, nie wprowadza tekstu, ale poza tym kontynuuje przeszukiwanie w zwykły sposób.

Do testowania możesz podać do trzech precyzyjnych linków obsługiwanych przez Twoją aplikację. ACTION_VIEW linki są wysyłane do Twojej aplikacji zgodnie z ACTION_VIEW Androida. Dlatego każdy link musi pasować do filtra intencji w Twojej aplikacji.

Jeśli podano co najmniej jeden ACTION_MAIN link, aplikacja jest najpierw uruchamiana normalnie (przy użyciu 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 Robo nie może znaleźć działania pasującego do Twojego precyzyjnego linku, Test Lab ignoruje to łącze. Problemy z precyzyjnymi linkami są zwykle wynikiem rozbieżności między podanym precyzyjnym linkiem a jego definicją w aplikacji. Sprawdź podany adres URL i swoją aplikację pod kątem literówek lub innych niespójności.

Wsparcie w licencjonowaniu aplikacji

Test Lab obsługuje aplikacje korzystające z usługi licencjonowania aplikacji oferowanej przez Google Play. Aby pomyślnie sprawdzić licencje podczas testowania aplikacji w Test Lab, musisz opublikować aplikację w kanale produkcyjnym w Sklepie Play. Aby przetestować swoją aplikację w kanale alfa lub beta przy użyciu Test Lab, usuń sprawdzanie licencji przed przesłaniem aplikacji do Test Lab.

Znane problemy

Test Robo ma obecnie następujące znane ograniczenia:

  • Obsługa struktury interfejsu użytkownika . Test Robo jest kompatybilny tylko z aplikacjami, które używają elementów interfejsu użytkownika z platformy Android UI (w tym obiektów View i ViewGroup , ale z wyłączeniem obiektów WebView ). Jeśli używasz testu Robo do ćwiczenia aplikacji korzystających z innych struktur interfejsu użytkownika, w tym aplikacji korzystających z silnika gry Unity, test może zakończyć się bez wychodzenia poza pierwszy ekran.
  • Zaloguj się Captchas . Test Robo nie może ominąć ekranów logowania, które wymagają dodatkowych działań użytkownika poza wprowadzeniem poświadczeń w celu zalogowania (takich jak ukończenie Captcha).