Z tego dokumentu dowiesz się, jak używać skryptów Robo, czyli testów, które automatyzują ręczne zadania związane z zapewnianiem jakości aplikacji mobilnych i umożliwiają stosowanie strategii ciągłej integracji oraz testowania przed opublikowaniem. Możesz na przykład użyć skryptów Robo, aby przetestować typową ścieżkę użytkownika lub podać określone dane wejściowe interfejsu, takie jak nazwa użytkownika i hasło. Skrypty Robo to funkcja testu Robo.
Skrypty Robo pozwalają nagrać siebie podczas przechodzenia przez przepływ pracy w aplikacji, a następnie przesłać to nagranie do konsoli Firebase, aby uruchomić je w testach Robo. Gdy uruchamiasz test Robo z dołączonym skryptem, Robo najpierw wykonuje działania określone w skrypcie, a następnie sprawdza aplikację w zwykły sposób.
Skrypty Robo używają testu Robo jako silnika testowego. W najprostszej postaci skrypt Robo składa się z sekwencji działań w interfejsie, takich jak wpisz tekst „nazwa użytkownika”, a następnie kliknij przycisk OK. Skrypty Robo mogą też obejmować działania takie jak oczekiwanie na pojawienie się elementu, kliknięcie określonego punktu w elemencie i wykonywanie poleceń powłoki Android Debug Bridge (adb).
Skrypty Robo mają te zalety w porównaniu z tradycyjnymi platformami testowymi:
| Możliwości | Opis |
| Bardzo solidne | Skrypty Robo mogą tolerować znaczne różnice strukturalne i behawioralne między wersjami aplikacji oraz niestabilność aplikacji. |
| Otwarte | Po zakończeniu skryptu Robo podstawowy test Robo może przejąć kontrolę i kontynuować testowanie aplikacji. To podejście do testowania umożliwia kilka kluczowych przypadków użycia. Możesz na przykład użyć skryptu Robo, aby wprowadzić aplikację w określony stan, wykonując niestandardowy proces logowania. |
| Możliwość nagrywania | Nie musisz ręcznie kodować skryptów Robo. Można je nagrywać za pomocą rejestratora skryptów Robo w Android Studio. Tworzenie i modyfikowanie skryptów Robo zwykle nie wymaga wiedzy na temat tworzenia aplikacji mobilnych. |
| Elastyczne | Skrypty Robo mogą wchodzić w interakcje z nienatywnymi elementami interfejsu, które są powszechne w grach. |
Skrypty Robo są uruchamiane warunkowo podczas testu Robo, co pozwala użytkownikom rozszerzyć zachowanie Robo – zwykle w celu uzyskania większego pokrycia lub ukierunkowania na konkretną funkcję. W przeciwieństwie do tradycyjnych platform testowych skrypty Robo obsługują:
- różne warunki aktywacji, np. aktywność (lub jej brak) określonej nazwy pakietu aplikacji lub wyświetlanie (lub nie) określonego elementu na ekranie.
- Ustawienia wykonywania, np. maksymalna liczba wykonań, priorytet, odpowiedni etap indeksowania.
- nietypowe typy działań (warunkowe, ignorujące elementy, zamykające ekran);
Zalecamy korzystanie ze skryptów Robo, gdy tylko jest to możliwe, ponieważ ich utrzymanie nie wymaga wysiłku. Możesz na przykład użyć skryptu Robo, aby:
- Przejdź przez ważne procesy, aby poznać podstawowe funkcje aplikacji. Możesz na przykład zalogować się, skonfigurować stan aplikacji po pierwszym uruchomieniu i zarejestrować nowego użytkownika.
- Skup Robo na konkretnej części aplikacji, aby jak najlepiej wykorzystać czas testu Robo. Skrypt Robo kieruje test Robo do odpowiedniej części aplikacji, gdzie test Robo wznawia w pełni zautomatyzowane indeksowanie.
- Przełącz aplikację na określony stan lub ekran, aby przeprowadzić analizę, np. przeanalizować wiadomość w aplikacji, politykę prywatności lub określony poziom gry.
- Przeprowadź kompleksowy test z instrumentacją z testem Robo lub bez niego, wznawiając w pełni automatyczne indeksowanie po zakończeniu skryptu Robo.
Za pomocą bardziej zaawansowanych funkcji skryptu Robo możesz:
- wykonywać działania przed rozpoczęciem indeksowania testowanej aplikacji przez Robo lub po zakończeniu indeksowania, np. wyczyścić dane testowanej aplikacji przed indeksowaniem lub zmienić ustawienia urządzenia;
- Zmieniaj aspekty zachowania Robo podczas indeksowania, w szczególności:
- Możesz sprawić, że Robo będzie ignorować niektóre widżety interfejsu lub ekrany aplikacji.
- Podaj działanie niestandardowe, które Robo ma wykonać po cofnięciu się z określonego ekranu.
- Spraw, aby Robo wykonywał określone działania, gdy podczas indeksowania napotka dany ekran aplikacji.
- Możesz całkowicie dostosować sposób, w jaki Robo przeprowadza testy. Możesz na przykład użyć kombinacji działań warunkowych i bezwarunkowych, aby testowana aplikacja działała w tle przez cały czas indeksowania, a jednocześnie wykonywać operacje na urządzeniu i odrzucać pojawiające się okna wyskakujące.
Pamiętaj, że skrypty Robo nie zastępują wszystkich rodzajów testów. Nadal potrzebujesz testów jednostkowych, aby wykrywać błędy logiki niskiego poziomu w aplikacji. Te testy zwykle nie wymagają środowiska Androida ani iOS. Zalecamy uzupełnienie testów skryptów Robo o testy z instrumentacją, które mogą zawierać konkretne, szczegółowe asercje dotyczące logiki biznesowej, które najlepiej wyrazić w kodzie.
Nagrywanie skryptu Robo za pomocą Test Lab w Android Studio
Rejestrator skryptów Robo w Android Studio umożliwia nagrywanie skryptów Robo przez bezpośrednią interakcję z aplikacją na urządzeniu. Aby zacząć korzystać ze skryptów Robo za pomocą narzędzia Firebase w Android Studio, wykonaj te czynności:
Otwórz Android Studio i wybierz Narzędzia -> Firebase.
W panelu Firebase kliknij Record Robo Script and Use it to Guide Robo Test (Zarejestruj skrypt Robo i użyj go do przeprowadzenia testu Robo).
Kliknij Nagraj skrypt Robo. Pojawi się okno Wybierz cel wdrożenia.
Wybierz urządzenie, na którym chcesz nagrać skrypt Robo.
Po nagraniu skryptu Robo na urządzeniu zapisz plik jako plik JSON w wybranej lokalizacji.
Otwórz stronę Test Lab w konsoli Firebase i prześlij plik skryptu JSON oraz plik APK aplikacji.
Kliknij przycisk Dalej. Pojawi się prośba o wybranie urządzenia i poziomu interfejsu API. Po zakończeniu skryptu testowego Test Lab generuje raport z testu.
(Opcjonalnie) Aby skopiować lub pobrać logcat raportu z testu i film, kliknij Wyświetl pliki źródłowe.
Domyślnie mechanizmy odporności skryptu Robo zapobiegają jego przedwczesnemu niepowodzeniu.
Jeśli wybierzesz tryb wykonywania strict, a skrypt Robo nie powiedzie się w dowolnym momencie, Test Lab porzuci wszystkie dalsze kroki w skrypcie i wznowi zwykłe indeksowanie Robo. Najczęściej skrypty Robo kończą się niepowodzeniem, ponieważ Robo nie może znaleźć na ekranie wymaganego elementu. Aby uniknąć błędów, upewnij się, że nawigacja w aplikacji jest przewidywalna, a ekrany są wyświetlane w określonej kolejności.
Uruchamianie skryptu Robo w usłudze Test Lab
Aby uruchomić skrypt Robo w Test Lab, wykonaj te czynności:
Otwórz stronę Test Lab w konsoli Firebase.
Prześlij plik APK lub pakiet aplikacji na Androida w polu Plik APK lub pakiet aplikacji na Androida.
Prześlij nagrany lub utworzony ręcznie plik skryptu Robo w polu Skrypt Robo (opcjonalnie).
Udostępnianie skryptu Robo na potrzeby lokalnego uruchomienia testu Robo
Aby udostępnić skrypt Robo lokalnemu testowi Robo, użyj tej opcji testu Robo:
--robo-script-file <robo-script-path>
Zastąp <robo-script-path> ścieżką do pliku skryptu Robo w lokalnym systemie plików. Postępuj zgodnie z instrukcjami dotyczącymi lokalnego uruchamiania testu Robo.
Określanie skryptu Robo w wywołaniu testu gcloud CLI
Aby określić skrypt Robo w wywołaniu testu gcloud CLI, użyj tej flagi gcloud CLI:
--robo-script = <robo-script-path>
Zastąp <robo-script-path> ścieżką do pliku skryptu Robo w lokalnym systemie plików lub w Cloud Storage, używając zapisu gs://. Przykład:
gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>
Dalsze kroki
- Więcej informacji o strukturze, możliwościach, zastosowaniu i działaniach skryptów Robo znajdziesz w przewodniku po skryptach Robo.
- Uruchom test Robo.