Android および AWS Device Farm のインストゥルメンテーションによる作業 - AWS Device Farm

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Android および AWS Device Farm のインストゥルメンテーションによる作業

Device Farm では、Android 用のインストゥルメンテーション (JUnit、Espresso、Robotium、または実装ベースのテスト) のサポートを提供します。

Device Farm には、サンプルの Android アプリケーションと、インストゥルメンテーション (Espresso) を含む 3 つの Android オートメーションフレームワークでの動作テストへのリンクが用意されています。Android 用 Device Farm サンプルアプリケーションは、 でダウンロードできます GitHub。

インストゥルメンテーショについて

Android のインストゥルメンテーションはテストコードでコールバックメソッドを呼び出すことができます。これにより、コンポーネントをデバッグしているかのように、コンポーネントのライフサイクルを段階的に実行できます。詳細については、「Android 開発者ツール」ドキュメントの「テストのタイプと場所」セクション内の「インストルメント化テスト」を参照してください。

Android インストルメンテーションテストをアップロードする

Device Farm コンソールを使用してテストをアップロードします。

  1. https://console.aws.amazon.com/devicefarm で Device Farm コンソールにサインインします。

  2. Device Farm ナビゲーションパネルで、[モバイルデバイスのテスト] を選択して、[プロジェクト] を選択します。

  3. プロジェクトのリストで、テストをアップロードするプロジェクトを選択します。

    ヒント

    検索バーで名前によりプロジェクトリストを絞り込めます。

    プロジェクトを作成するには、「AWS Device Farm でプロジェクトを作成する」の手順に従ってください。

  4. [新規実行を作成] ボタンが表示されている場合は、選択します。

  5. アプリケーションを選択する」ページで、[ファイルを選択] を選びます。

  6. Android アプリケーションファイルを参照して選択します。このファイルは、.apk ファイルである必要があります。

  7. [次へ] を選択します。

  8. 構成する」ページの [テストフレームワークをセットアップ] セクションにある [インストルメンテーション] を選択して、[ファイルを選択] を選びます。

  9. テストが含まれている .apk ファイルを参照して選択します。

  10. [次へ] を選択し、残りの手順を完了してデバイスを選択し、実行を開始します。

Android インストゥルメンテーションテストでのスクリーンショットの撮影

Android インストゥルメンテーションインストゥルメンテーションテストの一部としてスクリーンショットを撮ることができます。

スクリーンショットを撮るには、次のいずれかのメソッドを呼び出します:

  • Robotium の場合は、takeScreenShot メソッドを呼び出します (例: solo.takeScreenShot();)。

  • Spoon の場合は、次のような screenshot メソッドを呼び出します:

    Spoon.screenshot(activity, "initial_state"); /* Normal test code... */ Spoon.screenshot(activity, "after_login");

テスト実行中、Device Farm は、デバイス上の次の場所 (存在する場合) からスクリーンショットを撮影し、テストレポートに追加します:

  • /sdcard/robotium-screenshots

  • /sdcard/test-screenshots

  • /sdcard/Download/spoon-screenshots/test-class-name/test-method-name

  • /data/data/application-package-name/app_spoon-screenshots/test-class-name/test-method-name

Android インストゥルメンテーションテストに関するその他の考慮事項

システムアニメーション

Espresso テスト用 Android ドキュメント」に基づき、実際のデバイスでテストするときはシステムアニメーションをオフにすることをお勧めします。Device Farm は、android.AndroidJUnitRunnersupport.test.runner.AndroidJ インストルメンテーションテストランナーで実行されると、Window Animation Scale 、Transition Animation Scale 、および Animator Duration Scale の設定を自動的に無効にします。

テストレコーダー

Device Farm は、Robotium などの record-and-playback スクリプティングツールがあるフレームワークをサポートしています。

スタンダードモードのテスト解析

実行の標準モードでは、Device Farm はテストスイートを解析し、実行する固有のテストクラスおよびメソッドを識別します。これは Dex Test Parser というツールを使って行われます。

Android インストゥルメンテーションの .apk ファイルを入力として指定すると、パーサーは JUnit 3 および JUnit 4 コンベンションに一致するテストの完全修飾メソッド名を返します。

これをローカル環境でテストするには:

  1. dex-test-parser バイナリーをダウンロードします。

  2. 次のコマンドを実行して、Device Farm で実行されるテストメソッドのリストを取得します:

    java -jar parser.jar path/to/apk path/for/output