Robo test to narzędzie do testowania zintegrowane z Firebase Test Lab. Robo test analizuje strukturę interfejsu użytkownika aplikacji (UI), a następnie bada go metodycznie, automatycznie symulując działania użytkownika. 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. To powtarzalne podejście do testowania pozwala używać testu Robo do sprawdzania poprawności poprawek błędów i testowania regresji.
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 pierwotnej przyczyny awarii aplikacji. Te funkcje testów Robo mogą również pomóc w znalezieniu problemów z interfejsem aplikacji.
Oprócz przeprowadzania regularnych testów Robo, możesz dostosować swoje testy za pomocą skryptów Robo, które są funkcją testów Robo. Aby dowiedzieć się więcej, zobacz Uruchamianie skryptu Robo .
Jeśli chcesz wypróbować wersję beta aplikacji Robo dla systemu iOS+, zobacz Uruchamianie testu Robo .
Statystyki indeksowania testów Robo
Aby pomóc Ci zinterpretować wyniki testu Robo, Robo test rejestruje statystyki podczas każdego indeksowania testowego. Laboratorium testowe wyświetla statystyki u góry karty testu Robo na stronie wyników testu:
Akcje: Całkowita liczba akcji wykonanych podczas przeszukiwania, w tym akcji skryptu Robo, akcji małpy i dyrektyw Robo.
Czynności: liczba odrębnych działań uwzględnionych podczas przeszukiwania.
Ekrany: liczba odrębnych ekranów odwiedzonych podczas indeksowania.
Test Lab wykorzystuje również statystyki do stworzenia wizualnej reprezentacji testu Robo w postaci wykresu przeszukiwania. Graf ma ekrany jako węzły i akcje jako krawędzie. Śledząc krawędzie między ekranami, możesz zorientować się, jak test Robo przechodził przez Twoją aplikację podczas indeksowania.
Limit czasu testu Robo
W zależności od złożoności interfejsu użytkownika aplikacji Robo test może zająć pięć minut lub więcej, aby wykonać dokładny zestaw interakcji interfejsu użytkownika. Zalecamy ustawienie limitu czasu testu na co najmniej 120 sekund (2 minuty) w przypadku większości aplikacji i 300 sekund (5 minut) w przypadku średnio złożonych aplikacji. Domyślna wartość limitu czasu to 300 sekund (5 minut) w przypadku testów uruchamianych z Android Studio i konsoli Firebase oraz 900 sekund (15 minut) w przypadku testów uruchamianych z wiersza poleceń gcloud
.
Błędy limitu czasu uruchamiania aplikacji
Jeśli uruchamianie Twojej aplikacji zajmuje dużo czasu, Robo test może zgłosić błąd i nie będzie mógł zaindeksować Twojej aplikacji. Dzieje się tak tylko w przypadku bardzo długiego czasu uruchamiania i można to rozwiązać jedynie poprzez zmianę aplikacji, aby uruchamiała się szybciej.
Większa kontrola dzięki skryptom Robo
Czasami potrzebujesz większej kontroli nad swoimi 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. Aby dowiedzieć się więcej o skryptach Robo, zobacz Uruchamianie skryptu Robo i Przewodnik po skryptach Robo .
Testy Robo i widżety interfejsu użytkownika innego niż Android
Testy Robo wykorzystują interfejs Android API do bezpośredniego wykonywania działań na widżetach interfejsu użytkownika systemu Android. Pomaga to testom automatycznie eksplorować Twój interfejs użytkownika, ale oznacza również, że muszą mieć możliwość wyodrębnienia hierarchii interfejsu Androida dla ekranu, aby przeprowadzić na nim testy.
Jeśli ekran w Twojej aplikacji nie korzysta z widżetów interfejsu użytkownika systemu Android, testy Robo opierają się na działaniach małp, aby przetestować ten ekran. W przeciwieństwie do bardziej metodycznych działań testowych Robo, Monkey Actions po prostu symulują zdarzenia stuknięcia w półlosowych miejscach na ekranie urządzenia.
Aby lepiej przetestować ekrany, które nie korzystają z widżetów interfejsu Androida, możesz zastąpić dowolne kliknięcia Monkey Action zestawem stuknięć skryptowych i interakcji za pomocą Firebase Test Lab Game Loop Tests .
Integracja z Google Play
Możesz użyć testu Robo w Konsoli Google Play, gdy przesyłasz i publikujesz plik APK swojej aplikacji przy użyciu 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 obudowach i konfiguracjach sprzętowych. Aby dowiedzieć się więcej, zobacz Używanie raportów przed opublikowaniem do identyfikowania problemów .
Testuj logowanie do konta i predefiniowane wprowadzanie tekstu
Robo test obsługuje logowanie do konta testowego, a także umożliwia wprowadzanie predefiniowanego tekstu w polach w Twojej aplikacji. W przypadku niestandardowego logowania i innych predefiniowanych metod wprowadzania tekstu Robo test może wprowadzać tekst w polach EditText
w Twojej aplikacji. Dla każdego ciągu należy zidentyfikować pole EditText
za pomocą nazwy zasobu systemu Android. Aby dowiedzieć się więcej, zobacz Dostęp do zasobów .
Zalogować się
Robo test ma dwie wzajemnie wykluczające się metody obsługi logowania:
Niestandardowe logowanie: jeśli podasz dane logowania do konta testowego, musisz powiedzieć Robo test, gdzie ma je wprowadzić, a także podać te dane uwierzytelniające.
Automatyczne logowanie: 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 konta testowego do niestandardowego logowania.
Aby podać poświadczenia konta testowego na potrzeby logowania niestandardowego, wykonaj następujące czynności:
Na stronie Wybierz wymiary wybierz Opcje dodatkowe .
W obszarze Poświadczenia konta testowego (opcjonalne) wprowadź nazwę użytkownika i hasło, nazwy zasobów oraz nazwę użytkownika i hasło do konta testowego.
Predefiniowane wprowadzanie tekstu
Możesz podać niestandardowy 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:
Na stronie Wybierz wymiary wybierz Opcje dodatkowe .
W obszarze Dodatkowe pola (opcjonalne) wprowadź jedną lub więcej nazw zasobów oraz ciągi znaków, które mają zostać wprowadzone w odpowiednich polach tekstowych.
Predefiniowane błędy wprowadzania tekstu {:#predefined-text}
Robo test 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 kontynuuje indeksowanie w zwykły sposób.
Głębokie linki
Do testowania możesz podać maksymalnie trzy precyzyjne linki obsługiwane przez Twoją aplikację. Precyzyjne linki są wydawane do Twojej aplikacji zgodnie z intencjami Androida ACTION_VIEW
. Dlatego każdy link musi pasować do filtra intencji w Twojej aplikacji.
Jeśli podano co najmniej jeden precyzyjny link, aplikacja jest najpierw uruchamiana normalnie (przy użyciu intencji ACTION_MAIN
) i indeksowana do określonego limitu czasu. Po indeksowaniu głównym każdy precyzyjny link jest indeksowany przez dodatkowe 30 sekund.
Błędy precyzyjnych linków
Jeśli Robo test nie może znaleźć aktywności pasującej do precyzyjnego linku, Test Lab zignoruje ten link. Problemy z precyzyjnym linkiem są zwykle wynikiem rozbieżności między podanym precyzyjnym linkiem a jego definicją w Twojej aplikacji. Sprawdź zarówno podany adres URL, jak i aplikację pod kątem literówek lub innych niespójności.
Wsparcie licencjonowania 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ć ją w kanale produkcyjnym w Sklepie Play. Aby przetestować aplikację w kanale alfa lub beta za pomocą Test Lab, usuń sprawdzanie licencji przed przesłaniem aplikacji do Test Lab.
Następne kroki
- Dostosuj swoje testy za pomocą skryptów Robo .
Robo test to narzędzie do testowania zintegrowane z Firebase Test Lab. Robo test analizuje strukturę interfejsu użytkownika aplikacji (UI), a następnie bada go metodycznie, automatycznie symulując działania użytkownika. 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. To powtarzalne podejście do testowania pozwala używać testu Robo do sprawdzania poprawności poprawek błędów i testowania regresji.
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 pierwotnej przyczyny awarii aplikacji. Te funkcje testów Robo mogą również pomóc w znalezieniu problemów z interfejsem aplikacji.
Oprócz przeprowadzania regularnych testów Robo, możesz dostosować swoje testy za pomocą skryptów Robo, które są funkcją testów Robo. Aby dowiedzieć się więcej, zobacz Uruchamianie skryptu Robo .
Jeśli chcesz wypróbować wersję beta aplikacji Robo dla systemu iOS+, zobacz Uruchamianie testu Robo .
Statystyki indeksowania testów Robo
Aby pomóc Ci zinterpretować wyniki testu Robo, Robo test rejestruje statystyki podczas każdego indeksowania testowego. Laboratorium testowe wyświetla statystyki u góry karty testu Robo na stronie wyników testu:
Akcje: Całkowita liczba akcji wykonanych podczas przeszukiwania, w tym akcji skryptu Robo, akcji małpy i dyrektyw Robo.
Czynności: liczba odrębnych działań uwzględnionych podczas przeszukiwania.
Ekrany: liczba odrębnych ekranów odwiedzonych podczas indeksowania.
Test Lab wykorzystuje również statystyki do stworzenia wizualnej reprezentacji testu Robo w postaci wykresu przeszukiwania. Graf ma ekrany jako węzły i akcje jako krawędzie. Śledząc krawędzie między ekranami, możesz zorientować się, jak test Robo przechodził przez Twoją aplikację podczas indeksowania.
Limit czasu testu Robo
W zależności od złożoności interfejsu użytkownika aplikacji Robo test może zająć pięć minut lub więcej, aby wykonać dokładny zestaw interakcji interfejsu użytkownika. Zalecamy ustawienie limitu czasu testu na co najmniej 120 sekund (2 minuty) w przypadku większości aplikacji i 300 sekund (5 minut) w przypadku średnio złożonych aplikacji. Domyślna wartość limitu czasu to 300 sekund (5 minut) w przypadku testów uruchamianych z Android Studio i konsoli Firebase oraz 900 sekund (15 minut) w przypadku testów uruchamianych z wiersza poleceń gcloud
.
Błędy limitu czasu uruchamiania aplikacji
Jeśli uruchamianie Twojej aplikacji zajmuje dużo czasu, Robo test może zgłosić błąd i nie będzie mógł zaindeksować Twojej aplikacji. Dzieje się tak tylko w przypadku bardzo długiego czasu uruchamiania i można to rozwiązać jedynie poprzez zmianę aplikacji, aby uruchamiała się szybciej.
Większa kontrola dzięki skryptom Robo
Czasami potrzebujesz większej kontroli nad swoimi 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. Aby dowiedzieć się więcej o skryptach Robo, zobacz Uruchamianie skryptu Robo i Przewodnik po skryptach Robo .
Testy Robo i widżety interfejsu użytkownika innego niż Android
Testy Robo wykorzystują interfejs API systemu Android do bezpośredniego wykonywania działań na widżetach interfejsu użytkownika systemu Android. Pomaga to testom automatycznie eksplorować Twój interfejs użytkownika, ale oznacza również, że muszą mieć możliwość wyodrębnienia hierarchii interfejsu Androida dla ekranu, aby przeprowadzić na nim testy.
Jeśli ekran w Twojej aplikacji nie korzysta z widżetów interfejsu użytkownika systemu Android, testy Robo opierają się na działaniach małp, aby przetestować ten ekran. W przeciwieństwie do bardziej metodycznych działań testowych Robo, Monkey Actions po prostu symulują zdarzenia stuknięcia w półlosowych miejscach na ekranie urządzenia.
Aby lepiej przetestować ekrany, które nie korzystają z widżetów interfejsu Androida, możesz zastąpić dowolne kliknięcia Monkey Action zestawem stuknięć skryptowych i interakcji za pomocą Firebase Test Lab Game Loop Tests .
Integracja z Google Play
Możesz użyć testu Robo w Konsoli Google Play, gdy przesyłasz i publikujesz plik APK swojej aplikacji przy użyciu 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 obudowach i konfiguracjach sprzętowych. Aby dowiedzieć się więcej, zobacz Używanie raportów przed opublikowaniem do identyfikowania problemów .
Testuj logowanie do konta i predefiniowane wprowadzanie tekstu
Robo test obsługuje logowanie do konta testowego, a także umożliwia wprowadzanie predefiniowanego tekstu w polach w Twojej aplikacji. W przypadku niestandardowego logowania i innych predefiniowanych metod wprowadzania tekstu Robo test może wprowadzać tekst w polach EditText
w Twojej aplikacji. Dla każdego ciągu należy zidentyfikować pole EditText
za pomocą nazwy zasobu systemu Android. Aby dowiedzieć się więcej, zobacz Dostęp do zasobów .
Zalogować się
Robo test ma dwie wzajemnie wykluczające się metody obsługi logowania:
Niestandardowe logowanie: jeśli podasz dane logowania do konta testowego, musisz powiedzieć Robo test, gdzie ma je wprowadzić, a także podać te dane uwierzytelniające.
Automatyczne logowanie: 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 konta testowego do niestandardowego logowania.
Aby podać poświadczenia konta testowego na potrzeby logowania niestandardowego, wykonaj następujące czynności:
Na stronie Wybierz wymiary wybierz Opcje dodatkowe .
W obszarze Poświadczenia konta testowego (opcjonalne) wprowadź nazwę użytkownika i hasło, nazwy zasobów oraz nazwę użytkownika i hasło do konta testowego.
Predefiniowane wprowadzanie tekstu
Możesz podać niestandardowy 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:
Na stronie Wybierz wymiary wybierz Opcje dodatkowe .
W obszarze Dodatkowe pola (opcjonalne) wprowadź jedną lub więcej nazw zasobów oraz ciągi znaków, które mają zostać wprowadzone w odpowiednich polach tekstowych.
Predefiniowane błędy wprowadzania tekstu {:#predefined-text}
Robo test 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 kontynuuje indeksowanie w zwykły sposób.
Głębokie linki
Do testowania możesz podać maksymalnie trzy precyzyjne linki obsługiwane przez Twoją aplikację. Precyzyjne linki są wydawane do Twojej aplikacji zgodnie z intencjami Androida ACTION_VIEW
. Dlatego każdy link musi pasować do filtra intencji w Twojej aplikacji.
Jeśli podano co najmniej jeden precyzyjny link, aplikacja jest najpierw uruchamiana normalnie (przy użyciu intencji ACTION_MAIN
) i indeksowana do określonego limitu czasu. Po indeksowaniu głównym każdy precyzyjny link jest indeksowany przez dodatkowe 30 sekund.
Błędy precyzyjnych linków
Jeśli Robo test nie może znaleźć aktywności pasującej do precyzyjnego linku, Test Lab zignoruje ten link. Problemy z precyzyjnym linkiem są zwykle wynikiem rozbieżności między podanym precyzyjnym linkiem a jego definicją w Twojej aplikacji. Sprawdź zarówno podany adres URL, jak i aplikację pod kątem literówek lub innych niespójności.
Wsparcie licencjonowania 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ć ją w kanale produkcyjnym w Sklepie Play. Aby przetestować aplikację w kanale alfa lub beta za pomocą Test Lab, usuń sprawdzanie licencji przed przesłaniem aplikacji do Test Lab.
Następne kroki
- Dostosuj swoje testy za pomocą skryptów Robo .
Robo test to narzędzie do testowania zintegrowane z Firebase Test Lab. Robo test analizuje strukturę interfejsu użytkownika aplikacji (UI), a następnie bada go metodycznie, automatycznie symulując działania użytkownika. 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. To powtarzalne podejście do testowania pozwala używać testu Robo do sprawdzania poprawności poprawek błędów i testowania regresji.
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 pierwotnej przyczyny awarii aplikacji. Te funkcje testów Robo mogą również pomóc w znalezieniu problemów z interfejsem aplikacji.
Oprócz przeprowadzania regularnych testów Robo, możesz dostosować swoje testy za pomocą skryptów Robo, które są funkcją testów Robo. Aby dowiedzieć się więcej, zobacz Uruchamianie skryptu Robo .
Jeśli chcesz wypróbować wersję beta aplikacji Robo dla systemu iOS+, zobacz Uruchamianie testu Robo .
Statystyki indeksowania testów Robo
Aby pomóc Ci zinterpretować wyniki testu Robo, Robo test rejestruje statystyki podczas każdego indeksowania testowego. Laboratorium testowe wyświetla statystyki u góry karty testu Robo na stronie wyników testu:
Akcje: Całkowita liczba akcji wykonanych podczas przeszukiwania, w tym akcji skryptu Robo, akcji małpy i dyrektyw Robo.
Czynności: liczba odrębnych działań uwzględnionych podczas przeszukiwania.
Ekrany: liczba odrębnych ekranów odwiedzonych podczas indeksowania.
Test Lab wykorzystuje również statystyki do stworzenia wizualnej reprezentacji testu Robo w postaci wykresu przeszukiwania. Graf ma ekrany jako węzły i akcje jako krawędzie. Śledząc krawędzie między ekranami, możesz zorientować się, jak test Robo przechodził przez Twoją aplikację podczas indeksowania.
Limit czasu testu Robo
W zależności od złożoności interfejsu użytkownika aplikacji Robo test może zająć pięć minut lub więcej, aby wykonać dokładny zestaw interakcji interfejsu użytkownika. Zalecamy ustawienie limitu czasu testu na co najmniej 120 sekund (2 minuty) w przypadku większości aplikacji i 300 sekund (5 minut) w przypadku średnio złożonych aplikacji. Domyślna wartość limitu czasu to 300 sekund (5 minut) w przypadku testów uruchamianych z Android Studio i konsoli Firebase oraz 900 sekund (15 minut) w przypadku testów uruchamianych z wiersza poleceń gcloud
.
Błędy limitu czasu uruchamiania aplikacji
Jeśli uruchamianie Twojej aplikacji zajmuje dużo czasu, Robo test może zgłosić błąd i nie będzie mógł zaindeksować Twojej aplikacji. Dzieje się tak tylko w przypadku bardzo długiego czasu uruchamiania i można to rozwiązać jedynie poprzez zmianę aplikacji, aby uruchamiała się szybciej.
Większa kontrola dzięki skryptom Robo
Czasami potrzebujesz większej kontroli nad swoimi 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. Aby dowiedzieć się więcej o skryptach Robo, zobacz Uruchamianie skryptu Robo i Przewodnik po skryptach Robo .
Testy Robo i widżety interfejsu użytkownika innego niż Android
Testy Robo wykorzystują interfejs API systemu Android do bezpośredniego wykonywania działań na widżetach interfejsu użytkownika systemu Android. Pomaga to testom automatycznie eksplorować Twój interfejs użytkownika, ale oznacza również, że muszą mieć możliwość wyodrębnienia hierarchii interfejsu Androida dla ekranu, aby przeprowadzić na nim testy.
Jeśli ekran w Twojej aplikacji nie korzysta z widżetów interfejsu użytkownika systemu Android, testy Robo opierają się na działaniach małp, aby przetestować ten ekran. W przeciwieństwie do bardziej metodycznych działań testowych Robo, Monkey Actions po prostu symulują zdarzenia stuknięcia w półlosowych miejscach na ekranie urządzenia.
Aby lepiej przetestować ekrany, które nie korzystają z widżetów interfejsu Androida, możesz zastąpić dowolne kliknięcia Monkey Action zestawem stuknięć skryptowych i interakcji za pomocą Firebase Test Lab Game Loop Tests .
Integracja z Google Play
Możesz użyć testu Robo w Konsoli Google Play, gdy przesyłasz i publikujesz plik APK swojej aplikacji przy użyciu 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 obudowach i konfiguracjach sprzętowych. Aby dowiedzieć się więcej, zobacz Używanie raportów przed opublikowaniem do identyfikowania problemów .
Testuj logowanie do konta i predefiniowane wprowadzanie tekstu
Robo test obsługuje logowanie do konta testowego, a także umożliwia wprowadzanie predefiniowanego tekstu w polach w Twojej aplikacji. W przypadku niestandardowego logowania i innych predefiniowanych metod wprowadzania tekstu Robo test może wprowadzać tekst w polach EditText
w Twojej aplikacji. Dla każdego ciągu należy zidentyfikować pole EditText
za pomocą nazwy zasobu systemu Android. Aby dowiedzieć się więcej, zobacz Dostęp do zasobów .
Zalogować się
Robo test ma dwie wzajemnie wykluczające się metody obsługi logowania:
Niestandardowe logowanie: jeśli podasz dane logowania do konta testowego, musisz powiedzieć Robo test, gdzie ma je wprowadzić, a także podać te dane uwierzytelniające.
Automatyczne logowanie: 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 konta testowego do niestandardowego logowania.
Aby podać poświadczenia konta testowego na potrzeby logowania niestandardowego, wykonaj następujące czynności:
Na stronie Wybierz wymiary wybierz Opcje dodatkowe .
W obszarze Poświadczenia konta testowego (opcjonalne) wprowadź nazwę użytkownika i hasło, nazwy zasobów oraz nazwę użytkownika i hasło do konta testowego.
Predefiniowane wprowadzanie tekstu
Możesz podać niestandardowy 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:
Na stronie Wybierz wymiary wybierz Opcje dodatkowe .
W obszarze Dodatkowe pola (opcjonalne) wprowadź jedną lub więcej nazw zasobów oraz ciągi znaków, które mają zostać wprowadzone w odpowiednich polach tekstowych.
Predefiniowane błędy wprowadzania tekstu {:#predefined-text}
Robo test 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 kontynuuje indeksowanie w zwykły sposób.
Głębokie linki
Do testowania możesz podać maksymalnie trzy precyzyjne linki obsługiwane przez Twoją aplikację. Precyzyjne linki są wydawane do Twojej aplikacji zgodnie z intencjami Androida ACTION_VIEW
. Dlatego każdy link musi pasować do filtra intencji w Twojej aplikacji.
Jeśli podano co najmniej jeden precyzyjny link, aplikacja jest najpierw uruchamiana normalnie (przy użyciu intencji ACTION_MAIN
) i indeksowana do określonego limitu czasu. Po indeksowaniu głównym każdy precyzyjny link jest indeksowany przez dodatkowe 30 sekund.
Błędy precyzyjnych linków
Jeśli Robo test nie może znaleźć aktywności pasującej do precyzyjnego linku, Test Lab zignoruje ten link. Problemy z precyzyjnym linkiem są zwykle wynikiem rozbieżności między podanym precyzyjnym linkiem a jego definicją w Twojej aplikacji. Sprawdź zarówno podany adres URL, jak i aplikację pod kątem literówek lub innych niespójności.
Wsparcie licencjonowania 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ć ją w kanale produkcyjnym w Sklepie Play. Aby przetestować aplikację w kanale alfa lub beta za pomocą Test Lab, usuń sprawdzanie licencji przed przesłaniem aplikacji do Test Lab.
Następne kroki
- Dostosuj swoje testy za pomocą skryptów Robo .
Robo test to narzędzie do testowania zintegrowane z Firebase Test Lab. Robo test analizuje strukturę interfejsu użytkownika aplikacji (UI), a następnie bada go metodycznie, automatycznie symulując działania użytkownika. 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. To powtarzalne podejście do testowania pozwala używać testu Robo do sprawdzania poprawności poprawek błędów i testowania regresji.
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 pierwotnej przyczyny awarii aplikacji. Te funkcje testów Robo mogą również pomóc w znalezieniu problemów z interfejsem aplikacji.
Oprócz przeprowadzania regularnych testów Robo, możesz dostosować swoje testy za pomocą skryptów Robo, które są funkcją testów Robo. Aby dowiedzieć się więcej, zobacz Uruchamianie skryptu Robo .
Jeśli chcesz wypróbować wersję beta aplikacji Robo dla systemu iOS+, zobacz Uruchamianie testu Robo .
Statystyki indeksowania testów Robo
Aby pomóc Ci zinterpretować wyniki testu Robo, Robo test rejestruje statystyki podczas każdego indeksowania testowego. Laboratorium testowe wyświetla statystyki u góry karty testu Robo na stronie wyników testu:
Akcje: Całkowita liczba akcji wykonanych podczas przeszukiwania, w tym akcji skryptu Robo, akcji małpy i dyrektyw Robo.
Czynności: liczba odrębnych działań uwzględnionych podczas przeszukiwania.
Ekrany: liczba odrębnych ekranów odwiedzonych podczas indeksowania.
Test Lab wykorzystuje również statystyki do stworzenia wizualnej reprezentacji testu Robo w postaci wykresu przeszukiwania. Graf ma ekrany jako węzły i akcje jako krawędzie. Śledząc krawędzie między ekranami, możesz zorientować się, jak test Robo przechodził przez Twoją aplikację podczas indeksowania.
Limit czasu testu Robo
W zależności od złożoności interfejsu użytkownika aplikacji Robo test może zająć pięć minut lub więcej, aby wykonać dokładny zestaw interakcji interfejsu użytkownika. Zalecamy ustawienie limitu czasu testu na co najmniej 120 sekund (2 minuty) w przypadku większości aplikacji i 300 sekund (5 minut) w przypadku średnio złożonych aplikacji. Domyślna wartość limitu czasu to 300 sekund (5 minut) w przypadku testów uruchamianych z Android Studio i konsoli Firebase oraz 900 sekund (15 minut) w przypadku testów uruchamianych z wiersza poleceń gcloud
.
Błędy limitu czasu uruchamiania aplikacji
Jeśli uruchamianie Twojej aplikacji zajmuje dużo czasu, Robo test może zgłosić błąd i nie będzie mógł zaindeksować Twojej aplikacji. Dzieje się tak tylko w przypadku bardzo długiego czasu uruchamiania i można to rozwiązać jedynie poprzez zmianę aplikacji, aby uruchamiała się szybciej.
Większa kontrola dzięki skryptom Robo
Czasami potrzebujesz większej kontroli nad swoimi 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. Aby dowiedzieć się więcej o skryptach Robo, zobacz Uruchamianie skryptu Robo i Przewodnik po skryptach Robo .
Testy Robo i widżety interfejsu użytkownika innego niż Android
Testy Robo wykorzystują interfejs Android API do bezpośredniego wykonywania działań na widżetach interfejsu użytkownika systemu Android. Pomaga to testom automatycznie eksplorować Twój interfejs użytkownika, ale oznacza również, że muszą mieć możliwość wyodrębnienia hierarchii interfejsu Androida dla ekranu, aby przeprowadzić na nim testy.
Jeśli ekran w Twojej aplikacji nie korzysta z widżetów interfejsu użytkownika systemu Android, testy Robo opierają się na działaniach małp, aby przetestować ten ekran. W przeciwieństwie do bardziej metodycznych działań testowych Robo, Monkey Actions po prostu symulują zdarzenia stuknięcia w półlosowych miejscach na ekranie urządzenia.
Aby lepiej przetestować ekrany, które nie korzystają z widżetów interfejsu Androida, możesz zastąpić dowolne kliknięcia Monkey Action zestawem stuknięć skryptowych i interakcji za pomocą Firebase Test Lab Game Loop Tests .
Integracja z Google Play
Możesz użyć testu Robo w Konsoli Google Play, gdy przesyłasz i publikujesz plik APK swojej aplikacji przy użyciu 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 obudowach i konfiguracjach sprzętowych. Aby dowiedzieć się więcej, zobacz Używanie raportów przed opublikowaniem do identyfikowania problemów .
Testuj logowanie do konta i predefiniowane wprowadzanie tekstu
Robo test obsługuje logowanie do konta testowego, a także umożliwia wprowadzanie predefiniowanego tekstu w polach w Twojej aplikacji. W przypadku niestandardowego logowania i innych predefiniowanych metod wprowadzania tekstu Robo test może wprowadzać tekst w polach EditText
w Twojej aplikacji. Dla każdego ciągu należy zidentyfikować pole EditText
za pomocą nazwy zasobu systemu Android. Aby dowiedzieć się więcej, zobacz Dostęp do zasobów .
Zalogować się
Robo test ma dwie wzajemnie wykluczające się metody obsługi logowania:
Niestandardowe logowanie: jeśli podasz dane logowania do konta testowego, musisz powiedzieć Robo test, gdzie ma je wprowadzić, a także podać te dane uwierzytelniające.
Automatyczne logowanie: 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 konta testowego do niestandardowego logowania.
Aby podać poświadczenia konta testowego na potrzeby logowania niestandardowego, wykonaj następujące czynności:
Na stronie Wybierz wymiary wybierz Opcje dodatkowe .
W obszarze Poświadczenia konta testowego (opcjonalne) wprowadź nazwę użytkownika i hasło, nazwy zasobów oraz nazwę użytkownika i hasło do konta testowego.
Predefiniowane wprowadzanie tekstu
Możesz podać niestandardowy 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:
Na stronie Wybierz wymiary wybierz Opcje dodatkowe .
W obszarze Dodatkowe pola (opcjonalne) wprowadź jedną lub więcej nazw zasobów oraz ciągi znaków, które mają zostać wprowadzone w odpowiednich polach tekstowych.
Predefiniowane błędy wprowadzania tekstu {:#predefined-text}
Robo test 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 kontynuuje indeksowanie w zwykły sposób.
Głębokie linki
Do testowania możesz podać maksymalnie trzy precyzyjne linki obsługiwane przez Twoją aplikację. Precyzyjne linki są wydawane do Twojej aplikacji zgodnie z intencjami Androida ACTION_VIEW
. Dlatego każdy link musi pasować do filtra intencji w Twojej aplikacji.
Jeśli podano co najmniej jeden precyzyjny link, aplikacja jest najpierw uruchamiana normalnie (przy użyciu intencji ACTION_MAIN
) i indeksowana do określonego limitu czasu. Po indeksowaniu głównym każdy precyzyjny link jest indeksowany przez dodatkowe 30 sekund.
Błędy precyzyjnych linków
Jeśli Robo test nie może znaleźć aktywności pasującej do precyzyjnego linku, Test Lab zignoruje ten link. Problemy z precyzyjnym linkiem są zwykle wynikiem rozbieżności między podanym precyzyjnym linkiem a jego definicją w Twojej aplikacji. Sprawdź zarówno podany adres URL, jak i aplikację pod kątem literówek lub innych niespójności.
Wsparcie licencjonowania 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ć ją w kanale produkcyjnym w Sklepie Play. Aby przetestować aplikację w kanale alfa lub beta za pomocą Test Lab, usuń sprawdzanie licencji przed przesłaniem aplikacji do Test Lab.
Następne kroki
- Dostosuj swoje testy za pomocą skryptów Robo .