Ten dokument wyjaśnia, jak używać skryptów Robo, czyli testów, które automatyzują ręczne zadania kontroli jakości w przypadku aplikacji mobilnych, a także umożliwiają ciągłą integrację (CI) i testowanie przed opublikowaniem. Możesz na przykład użyć skryptów Robo do testowania typowej ścieżki użytkownika lub podać dane wejściowe dotyczące interfejsu użytkownika (UI), takie jak nazwa użytkownika i hasło. Skrypty Robo to funkcja testu Robo.
W przypadku skryptów Robo najpierw nagrywasz w aplikacji przepływ pracy, a potem przesyłasz nagranie do konsoli Firebase, aby uruchomić testy Robo. Gdy przeprowadzasz test Robo z dołączonym skryptem, robot najpierw wykonuje czynności oskryptowane przez Ciebie, a potem analizuje aplikację według normalnego schematu.
Skrypty Robo używają testu Robo jako mechanizmu testowego. W najprostszej formie skrypt Robo składa się z sekwencji działań w interfejsie, takich jak wpisanie tekstu „nazwa użytkownika” i następnie kliknięcie przycisku OK. Skrypty robocze mogą też zawierać takie działania jak oczekiwanie na pojawienie się elementu, kliknięcie w określonym miejscu elementu i wykonywanie poleceń w powłoce Android Debug Bridge (adb
).
Skrypty robota mają te zalety w porównaniu z tradycyjnymi ramami testowania:
Uprawnienia | Opis |
Wysoka odporność | Skrypty robota mogą tolerować znaczne różnice strukturalne i behawioralne między wersjami aplikacji oraz ich niestabilnością. |
Otwarte | Po zakończeniu działania skryptu Robo test Robo podstawowy może przejąć sterowanie i kontynuować testowanie aplikacji. Takie podejście do testów umożliwia kilka kluczowych zastosowań. Możesz na przykład użyć skryptu Robo, aby ustawić aplikację w określonym stanie, wykonując niestandardowy proces logowania. |
Z możliwością nagrywania | Nie musisz kodować skryptów Robo ręcznie. Można je nagrywać za pomocą rejestratora skryptu Robo w Android Studio. Tworzenie i modyfikowanie skryptów Robonauta nie wymaga zwykle znajomości programowania aplikacji mobilnych. |
Elastyczne | Skrypty robota 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ć działanie Robo – zwykle w celu zwiększenia zasięgu lub ukierunkowania na konkretne funkcje. W przeciwieństwie do tradycyjnych ramek testowania skrypty Robo obsługują te funkcje:
- Różne warunki wywoływania, np. czy nazwa konkretnego pakietu aplikacji jest aktywna (lub nie) lub czy określony element jest wyświetlany na ekranie (lub nie).
- Ustawienia wykonania, np. maksymalna liczba wykonań, priorytet, odpowiedni etap indeksowania.
- Nietypowe typy działań (warunkowe, ignorujące elementy, zamykające ekran).
Zalecamy, aby w miarę możliwości używać skryptów Robo, ponieważ można je łatwo konserwować. Skrypt Robo możesz na przykład użyć do:
- Przechodzenie przez najważniejsze procesy, aby dotrzeć do głównej funkcjonalności aplikacji. Możesz na przykład zalogować się, skonfigurować stan aplikacji po pierwszym uruchomieniu i zarejestrować nowego użytkownika.
- Skoncentruj Robo na konkretnym obszarze aplikacji, aby w pełni wykorzystać czas testowania. Skrypt Robo kieruje test Robo do odpowiedniej części aplikacji, gdzie test Robo wznawia całkowicie zautomatyzowane indeksowanie.
- Wprowadzić aplikację w określony stan lub na określony ekran, aby przeprowadzić analizę, np. analizę wiadomości w aplikacji, polityki prywatności lub określonego poziomu w grze.
- Przeprowadź kompleksowy test pomiarowy z testem Robo (z testem Robo lub bez niego) w ramach całkowicie zautomatyzowanego indeksowania po zakończeniu działania skryptu Robo.
Zaawansowane funkcje skryptu Robo umożliwiają:
- Wykonuj czynności przed rozpoczęciem indeksowania aplikacji przez Robo lub po jego zakończeniu, np. czyść dane aplikacji testowej przed indeksowaniem lub zmień ustawienia urządzenia.
- Zmiana aspektów działania robota podczas indeksowania, w tym:
- Sprawić, aby Robo ignorowało niektóre widżety interfejsu lub ekrany aplikacji.
- Określ niestandardowe działanie, które Robo ma wykonać podczas cofania z określonego ekranu.
- Sprawianie, aby Robo wykonywał określone działania, gdy podczas indeksowania napotka określony ekran aplikacji.
- w pełni dostosowywać sposób indeksowania przez Robo; Możesz na przykład użyć kombinacji działań warunkowych i bezwarunkowych, aby utrzymać testowaną aplikację w tle podczas indeksowania, a zarazem wykonywać manipulacje na urządzeniu i zamykać wszystkie wyskakujące okienka, które się pojawiają.
Pamiętaj, że skrypty robota nie zastępują wszystkich rodzajów testów. Nadal potrzebujesz testów jednostkowych, aby wykrywać błędy logiki niskiego poziomu w aplikacji. Te testy zazwyczaj nie wymagają środowiska Android ani iOS. Zalecamy uzupełnianie testów skryptu Robo o testy ukierunkowane na instrumentowanie, które mogą zawierać szczegółowe twierdzenia dotyczące logiki biznesowej. Najlepiej wyrażać je w kodzie.
Zapisz 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. Aby rozpocząć tworzenie skryptów Robo za pomocą narzędzia Firebase w Android Studio, wykonaj te czynności:
Otwórz Android Studio i kliknij Narzędzia -> Firebase.
W panelu Firebase kliknij Zarejestruj skrypt Robo i użyj go do przeprowadzenia testu automatycznego.
Kliknij Nagraj skrypt Robo. Pojawi się okno Wybierz cel wdrożenia.
Wybierz urządzenie, na którym chcesz nagrywać skrypt Robo.
Po nagraniu skryptu Robo na urządzeniu zapisz plik w formacie JSON w wybranej lokalizacji.
W konsoli Firebase otwórz stronę Test Lab 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 działania skryptu testowego Test Lab wygeneruje raport z testu.
(Opcjonalnie) Aby skopiować lub pobrać plik logcat raportu testu i filmu, 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 w jakimś momencie się nie powiedzie, Test Lab pominą wszystkie dalsze kroki w skrypcie i wznowi zwykłe indeksowanie Robo. Najczęściej skrypty Robo nie działają, ponieważ Robo nie może znaleźć na ekranie wymaganego elementu. Aby uniknąć błędów, 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 AAB aplikacji w polu Plik APK lub AAB aplikacji.
W polu Skrypt Robo (opcjonalnie) prześlij nagrany lub utworzony ręcznie plik skryptu Robo.
Przekazywanie skryptu Robo do lokalnego testu Robo
Aby podać 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 Roborun.
Określanie skryptu Robo w wywołaniu testu interfejsu wiersza poleceń gcloud
Aby określić skrypt Robo w wywołaniu testu gcloud CLI, użyj tego parametru 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 pliku Cloud Storage, używając notacji gs://
. Przykład:
gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>
Dalsze kroki
- Informacje o strukturze, możliwościach, zastosowaniu i działaniach skryptów Robo znajdziesz w przewodniku po skryptach Robo.
- Przeprowadź test Robo.