Espresso のセットアップ手順

このガイドでは、SDK Manager を使用して Espresso をインストールし、ビルドする方法を説明します。 構築できます。Android Studio の使用が推奨されます。

テスト環境のセットアップ

動作の不安定さを避けるため、Google Play Console で テストに使用する仮想デバイスまたは実機デバイスの [設定] >[開発者向けオプション] で、次の 3 つの設定を無効にします。

  • ウィンドウ アニメスケール
  • トランジション アニメスケール
  • Animator 再生時間スケール

Espresso の依存関係の追加

Espresso の依存関係をプロジェクトに追加するには、次の手順を行います。

  1. アプリの build.gradle ファイルを開きます。通常、これは最上位の build.gradle ファイルではなく、app/build.gradle です。
  2. 依存関係内に次の行を追加します。

Groovy

androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
androidTestImplementation 'androidx.test:runner:1.6.1'
androidTestImplementation 'androidx.test:rules:1.6.1'

Kotlin

androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1')
androidTestImplementation('androidx.test:runner:1.6.1')
androidTestImplementation('androidx.test:rules:1.6.1')

Gradle のすべての依存関係についてはこちらをご覧ください。

インストゥルメンテーション ランナーの設定

同じ build.gradle ファイルに次の行を追加します。 android.defaultConfig:

Groovy

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Kotlin

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

Gradle ビルドファイルの例

Groovy

plugins {
  id 'com.android.application'
}

android {
    compileSdkVersion 33

    defaultConfig {
        applicationId "com.my.awesome.app"
        minSdkVersion 21
        targetSdkVersion 33
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
}

dependencies {
    androidTestImplementation 'androidx.test:runner:1.6.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
}

Kotlin

plugins {
    id("com.android.application")
}

android {
    compileSdkVersion(33)

    defaultConfig {
        applicationId = "com.my.awesome.app"
        minSdkVersion(21)
        targetSdkVersion(33)
        versionCode = 1
        versionName = "1.0"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
    }
}

dependencies {
    androidTestImplementation('androidx.test:runner:1.6.1')
    androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1')
}

アナリティクス

新しいリリースごとに 適切な軌道に乗っていることを確認するために 収集されます。具体的には、パッケージのハッシュを 各呼び出しのテスト対象アプリケーションの名前。これにより Espresso を使用したユニーク パッケージの数と、 できます。

このデータをアップロードしたくない場合は、 インストルメンテーション コマンドの disableAnalytics 引数:

adb shell am instrument -e disableAnalytics true

最初のテストの追加

Android Studio は、デフォルトでテストを src/androidTest/java/com.example.package/

ルールを使用した JUnit4 テストの例を以下に示します。

Kotlin

@RunWith(AndroidJUnit4::class)
@LargeTest
class HelloWorldEspressoTest {

    @get:Rule
    val activityRule = ActivityScenarioRule(MainActivity::class.java)

    @Test fun listGoesOverTheFold() {
        onView(withText("Hello world!")).check(matches(isDisplayed()))
    }
}

Java

@RunWith(AndroidJUnit4.class)
@LargeTest
public class HelloWorldEspressoTest {

    @Rule
    public ActivityScenarioRule<MainActivity> activityRule =
            new ActivityScenarioRule<>(MainActivity.class);

    @Test
    public void listGoesOverTheFold() {
        onView(withText("Hello world!")).check(matches(isDisplayed()));
    }
}

テストの実行

テストの実行は、Android Studio またはコマンドラインで行えます。

Android Studio での実行

Android Studio でテスト構成を作成するには、次の手順を行います。

  1. [Run] > [Edit Configurations] を開きます。
  2. 新しい Android Tests 構成を追加します。
  3. モジュールを選択します。
  4. 特定のインストゥルメンテーション ランナー(androidx.test.runner.AndroidJUnitRunner)を追加します。
  5. 作成した構成を実行します。

コマンドラインでの実行

次の Gradle コマンドを実行します。

./gradlew connectedAndroidTest