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 UI / Application Exerciser Monkey test, test Robo zawsze symuluje te same działania użytkowników w tej samej kolejności, kiedy go używać do testowania aplikacji w konfiguracji konkretnego urządzenia z tymi samymi ustawieniami. To pozwala używać testu Robo aby zatwierdzić poprawek i testów dla regresji w taki sposób, że nie jest możliwe przy badaniu za pomocą testu UI / Application Exerciser Monkey.

Test Robo 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 w znalezieniu problemów z interfejsem aplikacji.

Statystyki indeksowania testu robota

Aby pomóc Ci zinterpretować wyniki testu Robo, Robo rejestruje statystyki podczas każdego indeksowania testowego. Laboratorium testowe wyświetla statystyki u góry zakładki Robo na stronie wyników testu:

  • Operacje: Łączna liczba akcji wykonywane podczas indeksowania, w tym działań Robo skrypcie działań małpa, i dyrektyw Robo.
  • Działania: liczba odrębnych działań objętych podczas indeksowania.
  • Screens: liczba oddzielnych ekranach odwiedzonych podczas indeksowania.

Laboratorium testowe wykorzystuje również statystyki do stworzenia wizualnej reprezentacji indeksowania Robo w postaci wykresu indeksowania. Wykres ma ekrany jako węzły i akcje jako krawędzie. Podążając za krawędziami między ekranami, możesz zorientować się, jak Robo przemierza Twoją aplikację podczas indeksowania.

Limit czasu testu robota

W zależności od złożoności interfejsu użytkownika aplikacji test Robo może potrwać pięć minut lub dłużej, aby ukoń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 umiarkowanie złożonych aplikacji. Domyślna wartość limitu czasu wynosi 300 sekund (5 minut) do badań prowadzonych z Android Studio i Konsoli programisty Google i 1500 sekund (25 minut) do badań prowadzonych od gcloud linii poleceń.

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 zmodyfikowanie aplikacji, aby przyspieszyć jej uruchamianie.

Większa kontrola dzięki skryptom Robo

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

Dzięki skryptom Robo rejestrujesz, jak przechodzisz przez przepływ pracy w swojej aplikacji, a następnie przesyłasz to nagranie do konsoli Firebase, aby uruchomić je w testach Robo. Gdy uruchamiasz test Robo z dołączonym skryptem, Robo najpierw wykonuje czynności, które zostały wcześniej zaprogramowane, a następnie przechodzi do eksploracji aplikacji w zwykły sposób.

Zacznij od skryptów Robo za pomocą narzędzia Firebase w Android Studio:

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

Błędy skryptu Robo

Jeśli skrypt Robo ulegnie awarii w dowolnym momencie, laboratorium testowe porzuci wszystkie dalsze kroki w skrypcie i wznawia normalne indeksowanie Robo. Najczęściej skrypty Robo zawodzą, ponieważ Test Lab nie jest w stanie znaleźć potrzebnego elementu na ekranie. Aby uniknąć awarii, upewnij się, że nawigacja w aplikacji jest przewidywalna, a ekrany nie są wyświetlane w jakiejś 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 automatycznie eksplorować interfejs użytkownika, ale oznacza również, że muszą być w stanie wyodrębnić hierarchię interfejsu użytkownika systemu Android dla ekranu, aby uruchomić na nim testy.

Jeśli ekran w Twojej aplikacji nie używa widżetów interfejsu użytkownika Androida, testy Robo opierają się na działaniach małpy, aby przetestować ten ekran. W przeciwieństwie do bardziej metodycznych akcji Robo, Monkey Actions po prostu symulują zdarzenia dotknięcia w półlosowych lokalizacjach na ekranie urządzenia.

Do lepszych ekranów testowych, które nie korzystają z widżety Android UI, można wymienić dowolne krany małpy działania z zestawem skryptów kranów i interakcji poprzez Testy Firebase test Lab Gra pętli .

Integracja z Google Play

Możesz użyć Robo test w Konsoli Google Play, gdy przesyłasz i publikujesz plik APK swojej 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 testowe w różnych formach i konfiguracjach sprzętowych. Aby dowiedzieć się więcej, zobacz Użyj raportów pre-launch, aby zidentyfikować problemy .

Testuj logowanie na konto i predefiniowane wprowadzanie tekstu

Test Robo obsługuje logowanie na konto testowe, a także umożliwia wprowadzanie wstępnie zdefiniowanego tekstu w polach w aplikacji. Na zlecenie Zapisz się i inne wejście gotowego tekstu, test Robo może wprowadzić tekst do EditText pól w aplikacji. Dla każdej struny, trzeba zidentyfikować EditText pole za pomocą Android nazwę zasobu. Aby dowiedzieć się więcej, zobacz Dostęp do zasobów .

Zaloguj się

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

  • Niestandardowe logowania: Jeśli podasz poświadczenia konta testowe, trzeba powiedzieć testu Robo gdzie je wpisać, a także tych poświadczeń.
  • Automatycznego logowania: Jeśli aplikacja ma ekranu logowania, który używa uwierzytelniania konta Google, test Robo wykorzystuje konto testowe Google, chyba podać poświadczenia konta testowe dla niestandardowego logowania.

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

  1. Na stronie wybrać wymiary, wybrać dodatkowe opcje.
  2. Zgodnie z poświadczeniami konta testowego (opcjonalnie), wprowadź nazwę użytkownika i hasło zasobów nazwiska oraz nazwy użytkownika i hasła do konta testowego.

Wstępnie zdefiniowane wprowadzanie tekstu

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

  1. Na stronie wybrać wymiary, wybrać dodatkowe opcje.
  2. Zgodnie z dodatkowych pól (opcjonalnie), wpisać jedno lub kilka nazw zasobów, a struny wpisać w odpowiednich polach tekstowych.

Wstępnie zdefiniowane błędy wprowadzania tekstu

Robo wyszukiwania dla EditText dziedzinach posiadających nazwy zasobu Android, który pasuje do dostarczonego wyrażenia regularnego. Jeśli Robo nie może znaleźć pasującego pola, nie wprowadza tekstu, ale w przeciwnym razie kontynuuje przeszukiwanie jak zwykle.

Można podać do trzech głębokich linków obsługiwanych przez aplikację do testowania. Głębokie linki są wydawane aplikacji jak Android ACTION_VIEW zamiarów. Dlatego każdy link musi odpowiadać filtrowi intencji w Twojej aplikacji.

Jeśli jeden lub więcej głębokie linki są, aplikacja jest uruchomiona pierwsza normalnie (używając ACTION_MAIN intencji) i czołgał się 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źć aktywności pasującej do Twojego precyzyjnego linku, Laboratorium testowe zignoruje ten link. Problemy z precyzyjnymi linkami są zwykle wynikiem rozbieżności między podanym precyzyjnym linkiem a jego definicją w Twojej aplikacji. Sprawdź podany adres URL i aplikację pod kątem literówek lub innych niespójności.

Wsparcie licencjonowania aplikacji

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

Znane problemy

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

  • UI wsparcie ramy. Test Robo jest kompatybilny tylko z aplikacji, które elementy korzystanie z ram UI UI Androida (w tym View i ViewGroup obiektów, ale z wyłączeniem WebView obiektów). 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 eksploracji poza pierwszy ekran.
  • Zaloguj się, CAPTCHA. 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 wypełnienie Captcha).