App-Crawler

Mit dem App-Crawler-Tool, das Teil von Jetpack ist, können Sie Ihre Anwendung automatisch testen, ohne Code schreiben oder verwalten zu müssen.

Der Crawler wird parallel zu Ihrer App ausgeführt und führt automatisch Aktionen aus (Tippen, Wischen usw.), um den Zustandsbereich Ihrer App zu erkunden. Das Crawling wird automatisch beendet, wenn keine eindeutigen Aktionen mehr ausgeführt werden können, die App abstürzt oder eine von Ihnen festgelegte Zeitüberschreitung erreicht wird.

Das Testen mit dem Crawler ist einfach, da kein Code geschrieben oder gepflegt werden muss. Darüber hinaus können Sie es auf einer Vielzahl von Geräten ausführen, um nach Abstürzen, visuellen Problemen oder Leistungsproblemen zu suchen. Normalerweise empfiehlt es sich, einen cloudbasierten Dienst wie Firebase Test Lab zu verwenden, um mehrere Kombinationen von Bildschirmgrößen und Hardwarekonfigurationen einfacher und schneller zu testen.

Zielgruppe

Der App-Crawler richtet sich an Entwickler, die die grundlegenden Funktionen ihrer App mit minimalem Konfigurationsaufwand gewährleisten möchten. Neben rein intransparenten Box-Tests kann der Crawler auch für bestimmte Eingaben wie Anmeldedaten oder Deeplinks konfiguriert werden.

Erste Schritte

Vergewissern Sie sich zunächst, dass Sie die aktuelle Version des Android SDK verwenden. Diese ist in Android Studio enthalten. Wenn Sie ein eigenständiges Android SDK installieren, achten Sie darauf, dass es die neuesten Build-Tools und Plattformtools enthält.

Laden Sie dann das Crawler-Binärarchiv herunter.

Als Nächstes starten Sie entweder einen Emulator oder schließen ein physisches Gerät über ein USB-Kabel an. Prüfen Sie mit dem folgenden Befehl, ob das Gerät verbunden ist:

adb devices

Extrahieren Sie dazu zuerst das Archiv in ein Verzeichnis Ihrer Wahl. Rufen Sie in diesem Verzeichnis den Crawler mit folgendem Befehl auf:

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

Crawler-Optionen

Sie können die folgenden Optionen verwenden, um den Crawler aufzurufen:

Option Beschreibung
--android-sdk path

Gibt den Pfad zu Ihrem Android SDK an.

Dies ist ein erforderliches Flag.

--apk-file file

Gibt den Pfad zu Ihrem App-APK an, das der App-Crawler dann installiert und crawlt.

Dies ist ein erforderliches Flag, wenn --app-package-name nicht angegeben ist.

--app-package-name name

Gibt den Paketnamen Ihrer App an. Verwenden Sie diese Option, wenn Ihre App bereits auf dem Gerät installiert ist und keine Neuinstallation erforderlich ist.

Dies ist ein erforderliches Flag, wenn --apk-file nicht angegeben ist.

--key-store path

Gibt den Pfad zum Schlüsselspeicher an, der Ihre App- und Crawler-APKs signiert. Verwenden Sie diese Option, wenn für Ihre App eine bestimmte Signatur erforderlich ist.

--key-store-password password

Gibt das Passwort für den Schlüsselspeicher an, den Sie für die Option --key-store angegeben haben.

Dies ist ein erforderliches Flag, wenn --key-store angegeben ist.

--timeout-sec timeout

Gibt die Zeitüberschreitung für Ihr Crawling in Sekunden an. Wenn keine Angabe erfolgt, wird das Crawling nach 60 Sekunden beendet.

Bekannte Probleme

Ursprüngliche Signaturdateien konnten nicht gelöscht werden

Vor dem Start des Crawlings wird JDK 9-Nutzern möglicherweise diese Fehlermeldung angezeigt:

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

In diesem Fall empfehlen wir die Verwendung von JDK 8 oder 10+. Weitere Informationen zu diesem Problem finden Sie in diesem JDK 9-Fehler. Einige Nutzer haben das Problem behoben, indem sie ihr APK mit einer aktualisierten Version von Android Studio neu erstellt haben.

Weitere Informationen

Weitere Informationen zur Verwendung des App-Crawlers finden Sie in den folgenden Ressourcen.

  • Firebase Test Lab-Robo-Test enthält eine detaillierte Dokumentation sowie eine Anleitung zum Ausführen von Crawler-Tests in der Cloud.