2022 年 10 月 18 日に開催される Firebase Summit に、直接会場で、またはオンラインでご参加ください。Firebase を使用してアプリ開発を加速させ、自信を持ってアプリをリリースし、簡単にスケールする方法をご紹介します。 今すぐ登録

Roboスクリプトを実行する

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

このドキュメントでは、モバイル アプリの手動 QA タスクを自動化し、継続的インテグレーション (CI) とリリース前のテスト戦略を有効にするテストであるRobo スクリプトの使用方法について説明します。たとえば、Robo スクリプトを使用して、一般的なユーザー ジャーニーをテストしたり、ユーザー名やパスワードなどの特定のユーザー インターフェイス (UI) 入力を提供したりできます。 Robo スクリプトは、 Robo testの機能です。

Robo スクリプトを使用して、アプリ内のワークフローを自分自身で記録し、その記録を Firebase コンソールにアップロードして、Robo テストで実行します。スクリプトを添付して Robo テストを実行すると、Robo は最初に事前にスクリプト化されたアクションを実行し、次に通常どおりアプリを探索します。

Robo スクリプトは、テスト エンジンとしてRobo テストを使用してアプリが最初に読み込まれたときに開始されます。最も基本的な形式では、Robo スクリプトは、 「ユーザー名」というテキストを入力して [OK] ボタンをタップするなどの一連の UI アクションで構成されます。 Robo スクリプトには、要素が表示されるのを待つ、要素内の特定のポイントをタップする、Android Debug Bridge ( adb ) シェル コマンドを実行するなどのアクションを含めることもできます。

Robo スクリプトには、従来のテスト フレームワークに比べて次の利点があります。

容量説明
堅牢性が高いRobo スクリプトは、アプリのバージョンとアプリの不安定さの間の構造上および動作上の重大な違いを許容できます。
オープンエンドRobo スクリプトが完了すると、基本の Robo テストが引き継ぎ、アプリのテストを続行できます。この継続的なテスト アプローチにより、いくつかの重要なユース ケースが可能になります。たとえば、カスタム サインイン フローを実行することで、Robo スクリプトを使用してアプリを特定の状態にすることができます。
記録可能Robo スクリプトを手動でコーディングする必要はありません。これらは、Android Studio の Robo スクリプト レコーダーを使用して記録できます。通常、Robo スクリプトの作成または変更には、モバイル開発の知識は必要ありません。
フレキシブルRobo スクリプトは、ゲームで一般的な非ネイティブ UI 要素と対話できます。

Robo スクリプトは保守が容易であるため、可能な限り Robo スクリプトを使用することをお勧めします。たとえば、Robo スクリプトを使用して次のことを行うことができます。

  • 重要なワークフローをナビゲートして、アプリの機能の核心に到達します。たとえば、サインインを実行したり、最初の起動後にアプリの状態を設定したり、新しいユーザーを登録したりできます。
  • Robo のテスト時間を最大限に活用するには、Robo をアプリの特定の部分に集中させます。 Robo スクリプトは、Robo テストがアプリの関連部分に到達するようにガイドし、そこで Robo テストは完全に自動化されたクロールを再開します。
  • アプリを特定の状態または画面にして分析を実行します。たとえば、アプリ内メッセージ、プライバシー ポリシー、ゲームの特定のレベルを分析します。
  • Robo スクリプトの完了後に完全に自動化されたクロールを再開する Robo テストの有無にかかわらず、エンド ツー エンドのインストルメンテーション テストを実行します。

Robo スクリプトがすべての種類のテストに取って代わるわけではないことに注意してください。アプリの低レベルのロジック バグを検出するには、単体テストが必要です。これらのテストでは通常、Android または iOS 環境は必要ありません。 Robo スクリプト テストを、ビジネス ロジックに関する特定の詳細なアサーションを持つことができるターゲット インストルメンテーション テストで補足することをお勧めします。これは、コードで表現するのが最適です。

Android Studio の Test Lab を使用して Robo スクリプトを記録する

Android Studio の Robo スクリプト レコーダーを使用すると、デバイス上のアプリを直接操作して Robo スクリプトを記録できます。次の手順に従って、Android Studio の Firebase ツールを使用して Robo スクリプトを開始します。

  1. Android Studioを開き、 Tools -> Firebaseを選択します。

  2. [Firebase] ペインで、[ Robo スクリプトを記録し、それを使用して Robo テストをガイドする] をクリックします。

  3. [ Robo スクリプトを記録] をクリックします。 [配置ターゲットの選択] ダイアログが表示されます。

  4. Robo スクリプトを記録するデバイスを選択します。

  5. Robo スクリプトをデバイスに記録したら、ファイルを JSON ファイルとして目的の場所に保存します。

  6. Firebase コンソールで Test Lab ページを開き、JSON スクリプト ファイルとアプリケーション APK をアップロードします。

  7. [続行] ボタンをクリックします。デバイスと API レベルを選択するよう求められます。テスト スクリプトが完了すると、Test Lab はテスト レポートを生成します。

  8. (オプション) テスト レポートとビデオの logcat をコピーまたはダウンロードするには、[ソース ファイルを表示] をクリックします。

デフォルトでは、Robo スクリプトの堅牢性メカニズムにより、Robo スクリプトが早期に失敗するのを防ぎます。 strict実行モードを選択し、Robo スクリプトがいずれかの時点で失敗した場合、Test Lab はスクリプトの以降のすべてのステップを破棄し、通常の Robo クロールを再開します。ほとんどの場合、Robo が画面上で必要な要素を見つけることができないため、Robo スクリプトは失敗します。エラーを回避するには、アプリのナビゲーションが予測可能であること、および画面が決定論的な順序で表示されることを確認してください。

Test Lab で Robo スクリプトを実行する

Test Lab で Robo スクリプトを実行するには、次の手順に従います。

  1. Firebase コンソールで Test Lab ページを開きます。

  2. [アプリの APKまたは AAB] フィールドにアプリの APK または AAB をアップロードします。

  3. 記録した、または手動で作成した Robo スクリプト ファイルを [ Robo スクリプト (オプション)]フィールドにアップロードします。

Robo スクリプトをローカルの Robo テスト実行に提供する

Robo スクリプトをローカルの Robo テスト実行に提供するには、次の Robo テスト オプションを使用します。

--robo-script-file <robo-script-path>

<robo-script-path>を、ローカル ファイル システム内の Robo スクリプト ファイルへのパスに置き換えます。ローカル Robo テスト ランの手順に従います。

gcloud CLI テスト呼び出しで Robo スクリプトを指定する

gcloud CLI テスト呼び出しで Robo スクリプトを指定するには、次の gcloud CLI フラグを使用します。

--robo-script = <robo-script-path>

<robo-script-path>を、 gs://表記を使用して、ローカル ファイル システムまたは Cloud Storage 内の Robo スクリプト ファイルへのパスに置き換えます。例えば:

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

次のステップ