W tym dokumencie opisano, jak używać 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, 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 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.
Dalsze kroki
Więcej informacji o strukturze, możliwościach, zastosowaniu i działaniach skryptów Robo znajdziesz w przewodniku po skryptach Robo.