Android アプリの計測済みテストの実行
インストルメント化されたテストは、物理デバイスかエミュレートされたデバイスかに関係なく、Android デバイス上で実行されます。 Bitrise では、adb ツールを使用してインストルメント化されたテストを実行できます。
計測されたテスト 物理デバイスでもエミュレートされたデバイスでも、Android デバイス上で実行できます。 Bitrise では、次を使用してインストルメント化されたテストを実行できます。 adbツール。インストルメント化されたテストを実行するには、2 つのものが必要です ステップ あなたの中で ワークフロー:
-
の UI テスト用の Android ビルド ステップでは、APK とテスト APK の両方をビルドします。例えば、
MyappDebug.apk
とMyAppDebugAndroidTest.apk
.ステップは、これらの APK へのパスを 2 つの出力環境変数に保存します。BITRISE_APK_PATH
とBITRISE_TEST_APK_PATH
.これらの環境変数を使用して、同じワークフローの後続のステップで APK にアクセスできます。 -
の Android 計装テスト ステップは、前のステップでビルドされた APK を使用してインストルメント化されたテストを実行します。
Android のインストルメント化されたテストを実行するには:
ワークフローエディター
ビットライズ.yml
-
追加 UI テスト用の Android ビルド ワークフローに進みます。
-
を確認してください プロジェクトの場所 input は、Android アプリのルート ディレクトリを指します。
-
ビルドするモジュールとバリアントを モジュール そしてその 変異体 入力。
プロジェクトの利用可能なモジュールとバリアントを確認できます Android Studio のプロジェクト ウィンドウ.
-
の中に オプション 入力グループでは、生成された APK ファイルの場所を APK の場所のパターン 入力。
入力は、ファイル パターンを値として受け取ります。デフォルト値は
*/build/outputs/apk/*.apk
. -
オプションで、次のことができます 追加の Gradle 引数を渡す のビルドタスクに 追加の Gradle 引数 入力。
-
追加 Android 計装テスト ワークフローに進みます。 UI テスト用の Android ビルド ステップ。
-
であることを確認してください。 メイン APK パス そしてその APK パスのテスト 入力は正しい場所を指します。
デフォルトでは、2 つの入力の値は
BITRISE_APK_PATH
そしてそのBITRISE_TEST_APK_PATH
環境変数、それぞれ。これらの変数は、 UI テスト用の Android ビルド ステップ。そのため、ほとんどの場合、これらの入力の値を変更する必要はありません。 -
の中に テストランナークラス 入力で、使用するテスト ランナーを指定します。
デフォルトのランナーは AndroidJUnitRunner クラス.
-
必要に応じて、追加のオプションをテスト ランナーに渡すことができます。 追加のテスト オプション 入力。
この入力を使用して、のアクティビティ マネージャー ツールにコマンドを発行します。
adb
シェル。発行できるコマンドの詳細については、を参照してください。 adb の公式ドキュメント.
-
を追加します。
android-build-for-ui-testing
ワークフローに進みます。steps: - git-clone: {} - android-build-for-ui-testing: inputs: - deploy-to-bitrise-io: {}
-
を確認してください。
project_location
input は Android アプリのルート ディレクトリを指します。steps: - git-clone: {} - android-build-for-ui-testing: inputs: - project_location: $BITRISE_SOURCE_DIR - deploy-to-bitrise-io: {}
-
ビルドするモジュールとバリアントを設定します。
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: {}
-
の中に
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: {}
-
オプションで、次のことができます 追加の 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: {}
-
を追加します。
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: {}
-
ことを確認してください。
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: {}
-
の中に
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: {}
-
オプションで、次のコマンドを使用して追加のオプションをテスト ランナーに渡すことができます。
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: {}
テストを実行し、その結果を ビルドログ.