Uruchamianie skryptu Robo (Android)

W tym dokumencie opisujemy, jak korzystać ze skryptów Robo, czyli testów, które automatyzują ręczne zadania kontroli jakości w przypadku aplikacji mobilnych i włączają strategie ciągłej integracji (CI) oraz strategie testowania przed opublikowaniem. Możesz na przykład wykorzystać skrypty Robo do przetestowania typowej ścieżki użytkownika lub udostępnienia określonych danych wejściowych w interfejsie, takich jak nazwa użytkownika i hasło. Skrypty Robo są funkcją testu Robo.

Dzięki skryptom Robo rejestrujesz przechodzenie 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 załączonym skryptem, Robo najpierw wykonuje opisane działania, a potem jak zwykle bada aplikację.

Skrypty Robo wykorzystują test Robo jako silnik testowy. W najbardziej podstawowej formie skrypt Robo składa się z sekwencji działań interfejsu, takich jak wpisz tekst „nazwa użytkownika” i kliknij przycisk OK. Skrypty Robo mogą również obejmować działania takie jak oczekiwanie na pojawienie się elementu, klikanie w określonym miejscu elementu czy wykonywanie poleceń powłoki Android Debug Bridge (adb).

Skrypty Robo mają następujące zalety w porównaniu z tradycyjnymi platformami testowania:

Zdolność Opis
Bardzo wytrzymała Skrypty Robo mogą tolerować znaczne różnice w strukturze i zachowaniu między wersjami aplikacji oraz jej niestabilne działanie.
Pytanie otwarte Po zakończeniu działania skryptu Robo podstawowy test Robo może przejąć aplikację i kontynuować testowanie aplikacji. To ciągłe testowanie umożliwia kilka kluczowych przypadków użycia. Możesz na przykład użyć skryptu Robo, aby wprowadzić aplikację w określony stan przez wykonanie niestandardowego procesu logowania.
Z możliwością 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 znajomości programowania na urządzenia mobilne.
Elastyczność Skrypty Robo mogą wchodzić w interakcje z nienatywnymi elementami interfejsu, które często występują w grach.

Skrypty Robo są warunkowo aktywowane podczas testu Robo, co umożliwia użytkownikom ulepszanie działania Robo – zwykle w celu uzyskania większego zasięgu lub określonej funkcji. W przeciwieństwie do tradycyjnych platform testowych skrypty Robo obsługują te aspekty:

  • Różne warunki wywołujące, np. nazwa określonego pakietu aplikacji, czy jest (lub nie) czy określony element wyświetlany na ekranie.
  • Ustawienia wykonywania, na przykład maksymalna liczba uruchomień, priorytet czy odpowiedni etap indeksowania.
  • Niekonwencjonalne typy działań (warunkowe, ignorowanie elementów, zamykanie ekranu).

Zalecamy używanie skryptów Robo, gdy tylko jest to możliwe, ponieważ można je łatwo obsługiwać. Można na przykład użyć skryptu Robo do tych działań:

  • korzystać z istotnych przepływów pracy, aby znaleźć podstawowe funkcje aplikacji; Możesz na przykład zalogować się, skonfigurować stan aplikacji po pierwszym uruchomieniu i zarejestrować nowego użytkownika.
  • Skoncentruj Robo na konkretnej części aplikacji, aby jak najlepiej wykorzystać czas testowania Robo. Skrypt Robo prowadzi test Robo do właściwej części aplikacji, w której test Robo wznawia w pełni zautomatyzowane indeksowanie.
  • Aplikacja do określonego stanu lub ekranu w celu przeprowadzenia analizy, np. w celu przeanalizowania wiadomości w aplikacji, polityki prywatności lub konkretnego poziomu gry.
  • Przeprowadź kompleksowy test z instrumentacją z testem Robo lub bez, wznawiając w pełni automatyczne indeksowanie po zakończeniu działania skryptu Robo.

Użyj bardziej zaawansowanych funkcji skryptu Robo, aby:

  • Wykonaj działania, zanim Robo rozpocznie indeksowanie aplikacji w trakcie testowania lub po zakończeniu indeksowania. Na przykład wyczyść dane w trakcie testowania przed indeksowaniem lub zmień ustawienia urządzenia.
  • Zmieniaj aspekty działania Robo podczas indeksowania, w szczególności:
    • Ustaw Robo ignoruje niektóre widżety interfejsu lub ekrany aplikacji.
    • Podaj niestandardowe działanie, które Robo ma wykonać w przypadku wycofania z określonego ekranu.
    • Pozwala Robo wykonywać określone działania za każdym razem, gdy podczas indeksowania wystąpi konkretny ekran aplikacji.
  • Możesz całkowicie dostosować sposób indeksowania przez Robo. Możesz na przykład użyć kombinacji działań warunkowych i bezwarunkowych, aby funkcja „app-under” działała w tle podczas całego indeksowania, wykonując operacje na urządzeniach i zamykając wszystkie wyskakujące okna.

Pamiętaj, że skrypty Robo nie zastępują wszystkich rodzajów testów. Nadal musisz przeprowadzać testy jednostkowe, aby wychwytywać niskopoziomowe błędy logiczne aplikacji. Te testy zwykle nie wymagają środowiska Androida ani iOS. Zalecamy uzupełnienie testów skryptów Robo o ukierunkowane testy instrumentacji, które mogą zawierać konkretne, szczegółowe asercje logiki biznesowej, najlepiej wyrażone w kodzie.

Nagraj skrypt Robo za pomocą Laboratorium w Android Studio

Rejestrator skryptów Robo w Android Studio umożliwia nagrywanie skryptów Robo przez interakcję bezpośrednio z aplikacją na urządzeniu. Wykonaj te instrukcje, aby zacząć tworzyć skrypty Robo w narzędziu Firebase w Android Studio:

  1. Otwórz Android Studio i kliknij Narzędzia -> Firebase.

  2. W panelu Firebase kliknij Zarejestruj skrypt Robo i użyj go do przeprowadzenia testu Robo.

  3. Kliknij Zarejestruj skrypt Robo. Pojawi się okno Wybierz cel wdrożenia.

  4. Wybierz urządzenie, na którym chcesz rejestrować skrypt Robo.

  5. Po zarejestrowaniu skryptu Robo na urządzeniu zapisz plik jako plik JSON w wybranym miejscu.

  6. Otwórz stronę Laboratorium w konsoli Firebase i prześlij plik skryptu JSON oraz plik APK aplikacji.

  7. Kliknij przycisk Dalej. Pojawi się prośba o wybranie urządzenia i poziomu interfejsu API. Gdy skrypt testowy dobiegnie końca, Laboratorium wygeneruje raport.

  8. (Opcjonalnie) Aby skopiować lub pobrać plik logcat raportu testowego i filmu, kliknij Wyświetl pliki źródłowe.

Domyślnie mechanizmy odporności skryptu Robo zapobiegają jego wczesnej awarii. Jeśli wybierzesz tryb wykonywania strict, a skrypt Robo w pewnym momencie ulegnie awarii, Laboratorium porzuci wszystkie dalsze kroki skryptu i wznowi zwykłe indeksowanie skryptu Robo. Skrypty Robo najczęściej ulegają awarii, ponieważ Robo nie może znaleźć wymaganego elementu na ekranie. Aby uniknąć błędów, zadbaj o to, aby nawigacja w aplikacji była przewidywalna, a ekrany wyświetlane w określonej kolejności deterministycznej.

Uruchamianie skryptu Robo w Laboratorium

Aby uruchomić skrypt Robo w Laboratorium:

  1. Otwórz stronę Laboratorium w konsoli Firebase.

  2. Prześlij pakiet APK lub AAB aplikacji w polu Plik APK lub AAB aplikacji.

  3. Prześlij nagrany lub ręcznie utworzony plik skryptu Robo w polu Skrypt Robo (opcjonalnie).

Udostępnij skrypt Robo do lokalnego uruchomienia testowego Robo

Aby udostępnić skrypt Robo do lokalnego uruchomienia 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. Wykonaj instrukcje lokalnego testu Robo.

Określanie skryptu Robo w wywołaniu testu interfejsu wiersza poleceń gcloud

Aby określić skrypt Robo w wywołaniu testu interfejsu wiersza poleceń gcloud, użyj tej flagi interfejsu wiersza poleceń gcloud:

--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 przy użyciu notacji gs://. Przykład:

gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>

Dalsze kroki