W tym dokumencie opisano, jak używać skryptów Robo , które są testami automatyzującymi ręczne zadania kontroli jakości dla aplikacji mobilnych i umożliwiają ciągłą integrację (CI) oraz strategie testowania przed opublikowaniem. Możesz na przykład użyć skryptów Robo do przetestowania typowej podróży użytkownika lub podania danych wejściowych interfejsu użytkownika (UI), takich jak nazwa użytkownika i hasło. Skrypty Robo są cechą Robo test .
Dzięki skryptom Robo nagrywasz siebie, 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 wstępnie zaprogramowane działania, a następnie przegląda aplikację w zwykły sposób.
Skrypty Robo wykorzystują test Robo jako silnik testowy. W swojej najbardziej podstawowej formie skrypt Robo składa się z sekwencji działań interfejsu użytkownika, takich jak wpisanie tekstu „nazwa użytkownika” , a następnie dotknięcie przycisku OK . Skrypty Robo mogą również obejmować działania, takie jak oczekiwanie na pojawienie się elementu, stukanie w określonym punkcie elementu i wykonywanie poleceń powłoki Android Debug Bridge ( adb
).
Skrypty Robo mają następujące zalety w porównaniu z tradycyjnymi frameworkami testowymi:
Zdolność | Opis |
Bardzo wytrzymały | Skrypty Robo mogą tolerować znaczne różnice strukturalne i behawioralne między wersjami aplikacji oraz niestabilność aplikacji. |
Otwarty | Po zakończeniu skryptu Robo podstawowy test Robo może przejąć i kontynuować testowanie aplikacji. To podejście do ciągłego 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 przepływ logowania. |
Możliwość nagrywania | Nie musisz ręcznie kodować skryptów Robo. Można je nagrać za pomocą rejestratora skryptów Robo w Android Studio. Tworzenie lub modyfikowanie skryptów Robo zwykle nie wymaga żadnej wiedzy na temat programowania mobilnego. |
Elastyczny | Skrypty Robo mogą wchodzić w interakcje z nienatywnymi elementami interfejsu użytkownika, które są powszechne w grach. |
Skrypty Robo są warunkowo uruchamiane podczas testu Robo, co pozwala użytkownikom na poprawę zachowania Robo — zwykle w celu uzyskania większego zasięgu lub określonej funkcjonalności. W przeciwieństwie do tradycyjnych platform testowych, skrypty Robo obsługują następujące funkcje:
- Różne warunki wyzwalające, na przykład nazwa konkretnego pakietu aplikacji jest aktywna (lub nie) lub określony element jest wyświetlany na ekranie (lub nie).
- Kontrola wykonania, na przykład maksymalna liczba wykonań, priorytet, odpowiedni etap indeksowania.
- Niekonwencjonalne typy akcji (warunkowe, ignorowanie elementów, zamykanie ekranu).
Zalecamy używanie skryptów Robo, gdy tylko jest to możliwe, ponieważ są one łatwe w utrzymaniu. Na przykład możesz użyć skryptu Robo do wykonania następujących czynności:
- Poruszaj się po istotnych przepływach pracy, aby dotrzeć do sedna funkcjonalności aplikacji. Możesz na przykład wykonać logowanie, skonfigurować stan aplikacji po pierwszym uruchomieniu i zarejestrować nowego użytkownika.
- Skoncentruj Robo na określonej części aplikacji, aby jak najlepiej wykorzystać czas testu Robo. Skrypt Robo prowadzi test Robo do odpowiedniej części aplikacji, gdzie test Robo wznawia w pełni zautomatyzowane indeksowanie.
- Przeprowadź aplikację do określonego stanu lub ekranu, aby przeprowadzić analizę, na przykład w celu przeanalizowania wiadomości w aplikacji, polityki prywatności lub określonego poziomu gry.
- Wykonaj kompleksowy test oprzyrządowania, z testem Robo lub bez niego, wznawiając w pełni zautomatyzowane indeksowanie po zakończeniu skryptu Robo.
Użyj bardziej zaawansowanych funkcji skryptu Robo, aby wykonać następujące czynności:
- Wykonaj działania, zanim Robo rozpocznie indeksowanie testowanej aplikacji lub po zakończeniu indeksowania, na przykład wyczyść dane testowanej aplikacji przed indeksowaniem, zmień ustawienia urządzenia itp.
- Zmień aspekty zachowania Robo podczas indeksowania, w szczególności:
- Spraw, aby Robo ignorował niektóre widżety interfejsu użytkownika lub ekrany aplikacji.
- Zapewnij niestandardową akcję, którą Robo wykona podczas cofania się z określonego ekranu.
- Spraw, aby Robo wykonywał określone działania za każdym razem, gdy podczas indeksowania napotkany zostanie określony ekran aplikacji.
- Całkowicie dostosuj sposób, w jaki Robo przeprowadza indeksowanie. Na przykład użyj kombinacji działań warunkowych i bezwarunkowych, aby utrzymać testowaną aplikację w tle podczas indeksowania, jednocześnie manipulując urządzeniem i odrzucając wszelkie wyskakujące okienka dialogowe, które pojawiają się po drodze.
Pamiętaj, że skrypty Robo nie zastępują wszystkich rodzajów testów. Nadal potrzebujesz testów jednostkowych, aby wykryć błędy logiczne niskiego poziomu w swojej aplikacji; te testy zwykle nie wymagają środowiska Android ani iOS. Zalecamy uzupełnienie testów skryptów Robo o ukierunkowane testy oprzyrządowania, które mogą zawierać konkretne, szczegółowe twierdzenia dotyczące logiki biznesowej, najlepiej wyrażone w kodzie.
Nagraj skrypt Robo za pomocą Test Lab w Android Studio
Rejestrator skryptów Robo w Android Studio umożliwia nagrywanie skryptów Robo poprzez bezpośrednią interakcję z aplikacją na urządzeniu. Postępuj zgodnie z tymi instrukcjami, aby rozpocząć pracę ze skryptami Robo za pomocą narzędzia Firebase w Android Studio:
Otwórz Android Studio i wybierz Narzędzia -> Firebase .
W okienku Firebase kliknij opcję Nagraj skrypt Robo i użyj go do prowadzenia testu Robo .
Kliknij Nagraj skrypt Robo . Zostanie wyświetlone okno dialogowe Wybierz miejsce docelowe 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 żądanej lokalizacji.
Otwórz stronę Test Lab w konsoli Firebase i prześlij plik skryptu JSON oraz plik APK aplikacji.
Kliknij przycisk Kontynuuj . Zostanie wyświetlony monit o wybranie poziomu urządzenia i interfejsu API. Po zakończeniu skryptu testowego Laboratorium testowe 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 niezawodności skryptu Robo zapobiegają wczesnej awarii. Jeśli wybierzesz tryb strict
wykonania, a skrypt Robo w dowolnym momencie zawiedzie, Laboratorium testowe porzuci wszystkie dalsze kroki skryptu i wznowi zwykłe indeksowanie Robo. Najczęściej skrypty Robo zawodzą, ponieważ Robo nie może znaleźć wymaganego elementu na ekranie. Aby uniknąć awarii, upewnij się, że nawigacja w aplikacji jest przewidywalna, a ekrany są wyświetlane w deterministycznej kolejności.
Uruchom skrypt Robo w Test Lab
Aby uruchomić skrypt Robo w Test Lab, postępuj zgodnie z poniższymi instrukcjami:
Otwórz stronę Test Lab w konsoli Firebase.
Prześlij plik APK lub AAB aplikacji w polu Plik APK lub AAB aplikacji .
Prześlij nagrany lub ręcznie utworzony plik skryptu Robo w polu Skrypt Robo (opcjonalnie) .
Dostarcz skrypt Robo do lokalnego uruchomienia testowego Robo
Aby udostępnić skrypt Robo do lokalnego uruchomienia testu Robo, użyj następującej 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 lokalnego testu Robo .
Określ skrypt Robo w wywołaniu testowym interfejsu wiersza polecenia gcloud
Aby określić skrypt Robo w wywołaniu testowym 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 notacji gs://
. Na przykład:
gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>
Następne kroki
- Aby dowiedzieć się więcej o strukturze, możliwościach, użyciu i działaniach skryptów Robo, zapoznaj się z podręcznikiem dotyczącym skryptów Robo .
- Uruchom test Robo .