Robot aplikacji

Użyj narzędzia Indeksowanie aplikacji, które wchodzi w skład pakietu Jetpack, aby automatycznie przetestować swoją aplikację bez konieczności pisania ani utrzymywania kodu.

Robot działa obok Twojej aplikacji i automatycznie wykonuje działania (klikanie, przesunięcie itp.), aby zbadać przestrzeń stanową aplikacji. Indeksowanie kończy się automatycznie, gdy nie ma więcej unikalnych działań, aplikacja ulega awarii lub upłynie określony czas oczekiwania.

Testowanie z wykorzystaniem robota jest proste, ponieważ nie trzeba pisać ani obsługiwać żadnego kodu. Można ją też uruchamiać na różnych urządzeniach pod kątem awarii, problemów wizualnych czy problemów z wydajnością. Zwykle do łatwiejszego i szybszego testowania różnych kombinacji rozmiarów ekranu i konfiguracji sprzętowych warto korzystać z usługi działającej w chmurze, takiej jak Laboratorium Firebase.

Docelowi odbiorcy

Robot jest przeznaczony dla deweloperów, którzy chcą zapewnić podstawowe funkcje aplikacji przy minimalnej konfiguracji. Oprócz testowania nieprzezroczystych pól robota robot może też skonfigurować tak, aby udostępniał określone dane wejściowe, takie jak dane logowania lub precyzyjne linki.

Wprowadzenie

Zanim zaczniesz, sprawdź, czy masz najnowszą wersję pakietu Android SDK. Znajdziesz je w Android Studio. Jeśli instalujesz samodzielny pakiet Android SDK, upewnij się, że zawiera on najnowsze narzędzia do kompilacji i narzędzia platformy.

Następnie pobierz archiwum binarne robota.

Następnie uruchom emulator lub podłącz urządzenie fizyczne kablem USB. Sprawdź, czy urządzenie jest połączone, uruchamiając to polecenie:

adb devices

Aby wywołać robota, najpierw wyodrębnij archiwum do wybranego katalogu. W tym katalogu wywołaj robota za pomocą następującego polecenia:

java -jar crawl_launcher.jar --apk-file path/to/my/app.apk --android-sdk path/to/my/android/sdk

Opcje robota

Do wywołania robota możesz użyć tych opcji:

Opcja Opis
--android-sdk path

Określa ścieżkę do Twojego pakietu SDK na Androida.

Jest to flaga wymagana.

--apk-file file

Określa ścieżkę do pliku APK aplikacji, który robot będzie następnie instalował i indeksowany.

Jest to flaga wymagana, jeśli parametr --app-package-name nie został określony.

--app-package-name name

Określa nazwę pakietu aplikacji. Użyj tej opcji, jeśli aplikacja jest już zainstalowana na urządzeniu i nie jest wymagana ponowna instalacja.

Jest to flaga wymagana, jeśli parametr --apk-file nie został określony.

--key-store path

Określa ścieżkę do magazynu kluczy, który podpisuje pliki APK Twojej aplikacji i robota. Użyj tej opcji, jeśli do prawidłowego działania aplikacja wymaga określonego podpisu.

--key-store-password password

Określa hasło do magazynu kluczy podanego dla opcji --key-store.

Jest to flaga wymagana, jeśli określono --key-store.

--timeout-sec timeout

Określa limit czasu indeksowania (w sekundach). Jeśli nie podasz żadnej wartości, indeksowanie zatrzyma się po 60 sekundach.

Znane problemy

Nie udało się usunąć oryginalnych plików podpisu

Przed rozpoczęciem indeksowania użytkownicy JDK 9 mogą zobaczyć następujący komunikat o błędzie:

androidx.test.tools.crawler.launcher.exceptions.ApkSigningException: Failed to delete original signature files

W przypadku takiego działania zalecamy używanie pakietu JDK 8 lub wersji 10 lub nowszej. Więcej informacji na ten temat znajdziesz w artykule o błędzie JDK 9. Niektórzy użytkownicy rozwiązali ten problem, przebudowując plik APK ze zaktualizowaną wersją Android Studio.

Dodatkowe materiały

Więcej informacji o korzystaniu z robota indeksującego aplikacji znajdziesz w tych materiałach.