Jetpack に含まれる App Crawler ツールを使用すると、コードの作成やメンテナンスの手間をかけずに、アプリを自動的にテストできます。
クローラはアプリとともに実行され、アクション(タップやスワイプなど)を自動的に実行してアプリの状態空間を探索します。実行する一意のアクションがなくなるか、アプリがクラッシュするか、指定されたタイムアウト期限に到達すると、クロールは自動的に終了します。
コードの作成やメンテナンスの必要がないため、クローラを使用したテストは簡単に実施できます。さらに、さまざまなデバイスでテストを実行して、クラッシュ、視覚的な問題、パフォーマンスの問題を検出できます。一般的には、Firebase Test Lab などのクラウドベースのサービスを使用して、画面サイズとハードウェア構成の複数の組み合わせをテストするのが、容易かつ迅速にテストを実施できる良い方法です。
ターゲット ユーザー
App Crawler は、最小限の構成でアプリの基本機能を実現したいデベロッパーを対象としています。純粋な不透明ボックステストに加えて、ログイン認証情報やディープリンクなどの特定の入力を提供するようにクローラを構成することもできます。
開始する
開始する前に、Android SDK の最新バージョンがあることを確認してください。 これは Android Studio に付属しています。 スタンドアロンの Android SDK をインストールする場合は、最新のビルドツールとプラットフォーム ツールが含まれていることを確認してください。
次に、クローラのバイナリ アーカイブをダウンロードします。
続いて、エミュレータを起動するか、USB ケーブルで実機を接続します。 次のコマンドを実行して、デバイスが接続されていることを確認します。
adb devices
クローラを起動するには、まず、選択したディレクトリにアーカイブを展開します。そのディレクトリから、次のコマンドでクローラを起動します。
java -jar crawl_launcher.jar --apk-file path/to/my/app.apk --android-sdk path/to/my/android/sdk
クローラのオプション
クローラを起動する際に、以下のオプションを使用できます。
オプション | 説明 |
---|---|
--android-sdk path
|
Android SDK へのパスを指定します。 このフラグは必須です。 |
--apk-file file
|
App Crawler がインストールしてクロールするアプリ APK へのパスを指定します。
|
--app-package-name name
|
アプリのパッケージ名を指定します。アプリがすでにデバイスにインストール済みで再インストールが不要な場合は、このオプションを使用します。
|
--key-store path
|
アプリとクローラ APK に署名するキーストアへのパスを指定します。アプリが適切に機能するために特定の署名が必要な場合は、このオプションを使用します。 |
--key-store-password password
|
|
--timeout-sec timeout
|
クロールのタイムアウトを秒単位で指定します。指定しなかった場合、クロールは 60 秒後に停止します。 |
既知の問題
元の署名ファイルを削除できない
JDK 9 ユーザーの場合、クロールが開始する前に次のエラー メッセージが表示されることがあります。
androidx.test.tools.crawler.launcher.exceptions.ApkSigningException: Failed to delete original signature files
この現象が発生する場合は、JDK 8 または 10 以上の使用をおすすめします。この問題の詳細については、こちらの JDK 9 のバグをご覧ください。ユーザーによっては、Android Studio のアップデート バージョンを使用して APK を再ビルドすることで、問題が解決した場合もあります。
参考情報
App Crawler の使用方法の詳細については、次のリソースをご覧ください。
- Firebase Test Lab の Robo テスト 詳細なドキュメントとクローラーの実行手順が掲載されています 実施できます