Z tego dokumentu dowiesz się, jak korzystać ze skryptów Robo, czyli testów, które automatyzują ręczne zadania związane z kontrolą jakości aplikacji mobilnych i umożliwiają stosowanie strategii ciągłej integracji (CI) oraz testowania przed opublikowaniem. Możesz na przykład użyć skryptów Robo do testowania typowej ścieżki użytkownika lub podawania określonych danych wejściowych interfejsu, takich jak nazwa użytkownika i hasło. Skrypty Robo to funkcja testu Robo.
Za pomocą skryptów Robo możesz nagrać siebie podczas wykonywania przepływu pracy w aplikacji, a następnie przesłać nagranie do Firebase konsoli, aby uruchomić je w testach Robo. Gdy uruchomisz test Robo z dołączonym skryptem, robot najpierw wykona zaprogramowane działania, a potem będzie eksplorować aplikację jak zwykle.
Skrypty Robo korzystają z testu Robo jako silnika testowego. W najprostszej postaci skrypt Robo składa się z sekwencji działań w interfejsie, takich jak wpisanie tekstu „nazwa użytkownika”, a następnie kliknięcie przycisku OK. Skrypty Robo mogą też zawierać działania takie jak czekanie na pojawienie się elementu, kliknięcie określonego punktu w elemencie i wykonywanie poleceń powłoki narzędzia Android Debug Bridge (adb).
Skrypty Robo mają te zalety w porównaniu z tradycyjnymi platformami testowymi:
| Możliwości | Opis |
| Bardzo wytrzymały | Skrypty Robo mogą tolerować znaczne różnice strukturalne i behawioralne między wersjami aplikacji oraz niestabilność aplikacji. |
| Otwarte | Po zakończeniu skryptu Robo może przejąć kontrolę podstawowy test Robo i kontynuować testowanie aplikacji. Takie 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 pisać skryptów Robo. Można je nagrywać za pomocą rejestratora skryptów Robo w Android Studio. Tworzenie lub modyfikowanie skryptów Robo zwykle nie wymaga znajomości programowania mobilnego. |
| 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 rozszerzać zachowanie robota, zwykle w celu uzyskania większego pokrycia lub ukierunkowania na konkretne funkcje. W przeciwieństwie do tradycyjnych platform testowych skrypty Robo obsługują:
- Różne warunki wyzwalające, np. aktywność (lub brak aktywności) określonej nazwy pakietu aplikacji lub wyświetlanie (lub brak wyświetlania) określonego elementu na ekranie.
- Elementy sterujące wykonywaniem, np. maksymalna liczba wykonań, priorytet, odpowiedni etap indeksowania.
- Nietypowe typy działań (warunkowe, ignorujące element, zamykające ekran).
Zalecamy używanie skryptów Robo, gdy tylko jest to możliwe, ponieważ można je łatwo utrzymywać. Za pomocą skryptu Robo możesz na przykład:
- Przejdź przez ważne ścieżki, aby poznać główne funkcje aplikacji. Możesz na przykład zalogować się, skonfigurować stan aplikacji po pierwszym uruchomieniu i zarejestrować nowego użytkownika.
- Skup robota na konkretnej części aplikacji, aby w pełni wykorzystać czas testu Robo. Skrypt Robo prowadzi test Robo do odpowiedniej części aplikacji, w której test Robo wznawia w pełni zautomatyzowane indeksowanie.
- Przenieś aplikację do określonego stanu lub ekranu, aby przeprowadzić analizę, np. przeanalizować wiadomość w aplikacji, politykę prywatności lub konkretny poziom gry.
- Przeprowadź kompleksowy test z instrumentacją z testem Robo lub bez niego, wznawiając w pełni zautomatyzowane indeksowanie po zakończeniu skryptu Robo.
Korzystaj z bardziej zaawansowanych funkcji skryptu Robo, aby:
- wykonywać czynności przed rozpoczęciem skanowania testowanej aplikacji przez Robo lub po jego zakończeniu, np. czyścić dane testowanej aplikacji przed skanowaniem lub zmieniać ustawienia urządzenia;
- Zmieniaj aspekty działania robota podczas indeksowania, w szczególności:
- Spraw, aby Robo ignorował niektóre widżety interfejsu lub ekrany aplikacji.
- Określ działanie niestandardowe, które Robo ma wykonać podczas cofania się z określonego ekranu.
- Spraw, aby Robo wykonywał określone działania, gdy podczas indeksowania napotka konkretny ekran aplikacji.
- W pełni dostosuj sposób, w jaki Robo przeprowadza indeksowanie. Możesz na przykład użyć kombinacji działań warunkowych i bezwarunkowych, aby podczas indeksowania aplikacja poddawana testom działała w tle, a jednocześnie wykonywać manipulacje na urządzeniu i zamykać wszystkie wyskakujące okienka, które się pojawią.
Pamiętaj, że skrypty Robo nie zastępują wszystkich rodzajów testów. Nadal potrzebujesz testów jednostkowych, aby wykrywać błędy w logice niskiego poziomu w aplikacji. Testy te zwykle nie wymagają środowiska Androida ani iOS. Zalecamy uzupełnianie testów skryptu Robo ukierunkowanymi testami instrumentacji, które mogą zawierać szczegółowe stwierdzenia dotyczące logiki biznesowej, najlepiej wyrażone 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średnie interakcje z aplikacją na urządzeniu. Aby zacząć korzystać ze skryptów Robo za pomocą narzędzia Firebase w Android Studio, postępuj zgodnie z tymi instrukcjami:
Otwórz Android Studio i kliknij Narzędzia –> Firebase.
W panelu Firebase kliknij Zarejestruj skrypt Robo i użyj go do kierowania testem Robo.
Kliknij Nagrywaj 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 API. Po zakończeniu działania scenariusza testowania usługa Test Lab generuje raport z testu.
(Opcjonalnie) Aby skopiować lub pobrać logcat raportu z testu i filmu, kliknij Wyświetl pliki źródłowe.
Domyślnie mechanizmy odporności skryptu Robo zapobiegają jego wczesnemu zakończeniu.
Jeśli wybierzesz tryb wykonywania strict, a skrypt Robo w dowolnym momencie ulegnie awarii, Test Lab porzuci wszystkie dalsze kroki w skrypcie i wznowi zwykłe indeksowanie Robo. Skrypty Robo najczęściej nie działają, ponieważ Robo nie może znaleźć wymaganego elementu na ekranie. Aby uniknąć niepowodzeń, zadbaj o to, aby nawigacja w aplikacji była przewidywalna, a ekrany wyświetlały się w określonej kolejności.
Uruchamianie skryptu Robo w 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.
Prześlij nagrany lub utworzony ręcznie plik skryptu Robo w polu Skrypt Robo (opcjonalnie).
Udostępnianie skryptu Robo do lokalnego testu Robo
Aby przekazać skrypt Robo do lokalnego testu 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 testu Robo.
Określanie skryptu Robo w wywołaniu testu w interfejsie wiersza poleceń gcloud
Aby określić skrypt Robo w wywołaniu testu gcloud CLI, użyj tego 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 za pomocą notacji 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.