Skip to main content

Android アプリの計測済みテストの実行

概要

インストルメント化されたテストは、物理デバイスかエミュレートされたデバイスかに関係なく、Android デバイス上で実行されます。 Bitrise では、adb ツールを使用してインストルメント化されたテストを実行できます。

計測されたテスト 物理デバイスでもエミュレートされたデバイスでも、Android デバイス上で実行できます。 Bitrise では、次を使用してインストルメント化されたテストを実行できます。 adbツール。インストルメント化されたテストを実行するには、2 つのものが必要です ステップ あなたの中で ワークフロー:

  • UI テスト用の Android ビルド ステップでは、APK とテスト APK の両方をビルドします。例えば、 MyappDebug.apkMyAppDebugAndroidTest.apk.ステップは、これらの APK へのパスを 2 つの出力環境変数に保存します。 BITRISE_APK_PATHBITRISE_TEST_APK_PATH.これらの環境変数を使用して、同じワークフローの後続のステップで APK にアクセスできます。

  • Android 計装テスト ステップは、前のステップでビルドされた APK を使用してインストルメント化されたテストを実行します。

Android のインストルメント化されたテストを実行するには:

ワークフローエディター

ビットライズ.yml

  1. 追加 UI テスト用の Android ビルド ワークフローに進みます。

  2. を確認してください プロジェクトの場所 input は、Android アプリのルート ディレクトリを指します。

  3. ビルドするモジュールとバリアントを モジュール そしてその 変異体 入力。

    プロジェクトの利用可能なモジュールとバリアントを確認できます Android Studio のプロジェクト ウィンドウ.

    build-for-ui-testing.png
  4. の中に オプション 入力グループでは、生成された APK ファイルの場所を APK の場所のパターン 入力。

    入力は、ファイル パターンを値として受け取ります。デフォルト値は */build/outputs/apk/*.apk.

  5. オプションで、次のことができます 追加の Gradle 引数を渡す のビルドタスクに 追加の Gradle 引数 入力。

  6. 追加 Android 計装テスト ワークフローに進みます。 UI テスト用の Android ビルド ステップ。

  7. であることを確認してください。 メイン APK パス そしてその APK パスのテスト 入力は正しい場所を指します。

    デフォルトでは、2 つの入力の値は BITRISE_APK_PATH そしてその BITRISE_TEST_APK_PATH 環境変数、それぞれ。これらの変数は、 UI テスト用の Android ビルド ステップ。そのため、ほとんどの場合、これらの入力の値を変更する必要はありません。

    android-instrumented.png
  8. の中に テストランナークラス 入力で、使用するテスト ランナーを指定します。

    デフォルトのランナーは AndroidJUnitRunner クラス.

  9. 必要に応じて、追加のオプションをテスト ランナーに渡すことができます。 追加のテスト オプション 入力。

    この入力を使用して、のアクティビティ マネージャー ツールにコマンドを発行します。 adb シェル。発行できるコマンドの詳細については、を参照してください。 adb の公式ドキュメント.

  1. を追加します。 android-build-for-ui-testing ワークフローに進みます。

      steps:
        - git-clone: {}
        - android-build-for-ui-testing:
            inputs:
        - deploy-to-bitrise-io: {}
    
  2. を確認してください。 project_location input は Android アプリのルート ディレクトリを指します。

      steps:
        - git-clone: {}
        - android-build-for-ui-testing:
            inputs:
            - project_location: $BITRISE_SOURCE_DIR
        - deploy-to-bitrise-io: {}
    
  3. ビルドするモジュールとバリアントを設定します。 module そしてその variant 入力。

    プロジェクトで利用可能なモジュールとバリアントを確認できます。 Android Studio のプロジェクト ウィンドウ

      steps:
        - git-clone: {}
        - android-build-for-ui-testing:
            inputs:
            - module: app
            - variant: debug
            - project_location: $BITRISE_SOURCE_DIR
        - deploy-to-bitrise-io: {}
    
  4. の中に apk_path_pattern 入力すると、生成された APK ファイルの場所を設定できます。

    入力はファイル パターンを値として受け取ります。デフォルト値は次のとおりです */build/outputs/apk/*.apk

      steps:
        - git-clone: {}
        - android-build-for-ui-testing:
            inputs:
            - arguments: flag
            - module: app
            - variant: debug
            - apk_path_pattern: '*/build/outputs/apk/*.apk'
            - project_location: $BITRISE_SOURCE_DIR
        - deploy-to-bitrise-io: {}
    
  5. オプションで、次のことができます 追加の Gradle 引数を渡す のビルドタスクに arguments 入力。

      steps:
        - git-clone: {}
        - android-build-for-ui-testing:
            inputs:
            - arguments: --task
            - module: app
            - variant: debug
            - apk_path_pattern: '*/build/outputs/apk/*.apk'
            - project_location: $BITRISE_SOURCE_DIR
        - deploy-to-bitrise-io: {}
    
  6. を追加します。 android-instrumented-test 後のある時点で、ワークフローに進みます。 android-build-for-ui-testing ステップ。

      steps:
        - git-clone: {}
        - android-build-for-ui-testing:
            inputs:
            - arguments: flag
            - module: app
            - variant: debug
            - apk_path_pattern: '*/build/outputs/apk/*.apk'
            - cache_level: all
            - project_location: $BITRISE_SOURCE_DIR
        - android-instrumented-test:
            inputs:
        - deploy-to-bitrise-io: {}
    
  7. ことを確認してください。 main_apk_path そしてその test_apk_path 入力は正しい場所を指します。

    デフォルトでは、2 つの入力の値は BITRISE_APK_PATH そしてその BITRISE_TEST_APK_PATH それぞれ環境変数。これらの変数は、 android-build-for-ui-testing ステップ。したがって、ほとんどの場合、これらの入力の値を設定する必要はありません。

      steps:
        - git-clone: {}
        - android-build-for-ui-testing:
            inputs:
            - arguments: flag
            - module: app
            - variant: debug
            - apk_path_pattern: '*/build/outputs/apk/*.apk'
            - cache_level: all
            - project_location: $BITRISE_SOURCE_DIR
        - android-instrumented-test:
            inputs:
            - main_apk_path: $BITRISE_APK_PATH
            - test_apk_path: $BITRISE_TEST_APK_PATH
        - deploy-to-bitrise-io: {}
    
  8. の中に test_runner_class 入力では、使用するテスト ランナーを指定します。

    デフォルトのランナーは AndroidJUnitRunner クラス

      steps:
        - git-clone: {}
        - android-build-for-ui-testing:
            inputs:
            - arguments: flag
            - module: app
            - variant: debug
            - apk_path_pattern: '*/build/outputs/apk/*.apk'
            - cache_level: all
            - project_location: $BITRISE_SOURCE_DIR
        - android-instrumented-test:
            inputs:
            - test_runner_class: androidx.test.runner.AndroidJUnitRunner
            - main_apk_path: $BITRISE_APK_PATH
            - test_apk_path: $BITRISE_TEST_APK_PATH
        - deploy-to-bitrise-io: {}
    
  9. オプションで、次のコマンドを使用して追加のオプションをテスト ランナーに渡すことができます。 additional_testing_options 入力。

    この入力により、アクティビティ マネージャー ツールにコマンドを発行します。 adb シェル。発行できるコマンドの詳細については、「 adb の公式ドキュメント。たとえば、値は KEY1 true KEY2 false として adb に渡されます adb shell am instrument -e "KEY1" "true" "KEY2" "false" [...]

      steps:
        - git-clone: {}
        - android-build-for-ui-testing:
            inputs:
            - arguments: flag
            - module: app
            - variant: debug
            - apk_path_pattern: '*/build/outputs/apk/*.apk'
            - cache_level: all
            - project_location: $BITRISE_SOURCE_DIR
        - android-instrumented-test:
            inputs:
            - test_runner_class: androidx.test.runner.AndroidJUnitRunner
            - additional_testing_options: KEY1 true KEY2 false
            - main_apk_path: $BITRISE_APK_PATH
            - test_apk_path: $BITRISE_TEST_APK_PATH
        - deploy-to-bitrise-io: {}
    

テストを実行し、その結果を ビルドログ.