Espresso kurulum talimatları

Bu kılavuzda, SDK Manager'ı kullanarak Espresso'nun yüklenmesi ve Gradle kullanılarak oluşturulması ele alınmaktadır. Android Studio önerilir.

Test ortamınızı ayarlama

Kesintileri önlemek için test için kullanılan sanal veya fiziksel cihazlardaki sistem animasyonlarını kapatmanızı önemle tavsiye ederiz. Cihazınızda Ayarlar > Geliştirici seçenekleri altında aşağıdaki 3 ayarı devre dışı bırakın:

  • Pencere animasyonu ölçeği
  • Geçiş animasyonu ölçeği
  • Animatör süre ölçeği

Espresso bağımlıları ekleyin

Projenize Espresso bağımlılığı eklemek için aşağıdaki adımları tamamlayın:

  1. Uygulamanızın build.gradle dosyasını açın. Bu genellikle üst düzey build.gradle dosyası değil, app/build.gradle dosyasıdır.
  2. Aşağıdaki satırları bağımlılıkların içine ekleyin:

Modern

androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
androidTestImplementation 'androidx.test:runner:1.4.0'
androidTestImplementation 'androidx.test:rules:1.4.0'

Kotlin

androidTestImplementation('androidx.test.espresso:espresso-core:3.4.0')
androidTestImplementation('androidx.test:runner:1.4.0')
androidTestImplementation('androidx.test:rules:1.4.0')

Gradle bağımlılıklarının tamamını görüntüleyin.

Enstrümantasyon testi

Aynı build.gradle dosyasına, android.defaultConfig içindeki aşağıdaki satırı ekleyin:

Modern

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Kotlin

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

Örnek Gradle derleme dosyası

Modern

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.4.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}

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.4.0')
    androidTestImplementation('androidx.test.espresso:espresso-core:3.4.0')
}

Analizler

Test çalıştırıcı, her yeni sürümde doğru yolda olduğumuzdan emin olmak için analizler toplar. Daha açık belirtmek gerekirse her çağrı için test edilen uygulamanın paket adının bir karmasını yükler. Bu sayede hem Espresso kullanarak benzersiz paket sayısını hem de kullanım hacmini ölçebiliyoruz.

Bu verileri yüklemek istemiyorsanız araç komutunuza disableAnalytics bağımsız değişkenini ekleyerek kapsam dışında kalmayı seçebilirsiniz:

adb shell am instrument -e disableAnalytics true

İlk testi ekleyin

Android Studio, src/androidTest/java/com.example.package/ ürününde varsayılan olarak test oluşturur.

Kuralları kullanarak örnek JUnit4 testi:

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()));
    }
}

Testler yapın

Testlerinizi Android Studio'da veya komut satırından çalıştırabilirsiniz.

Android Studio'da

Android Studio'da bir test yapılandırması oluşturmak için aşağıdaki adımları tamamlayın:

  1. Çalıştır > Yapılandırmaları Düzenle'yi açın.
  2. Yeni bir Android Tests yapılandırması ekleyin.
  3. Bir modül seçin.
  4. Belirli bir enstrümantasyon aletini ekleyin: androidx.test.runner.AndroidJUnitRunner
  5. Yeni oluşturulan yapılandırmayı çalıştırın.

Komut satırından

Aşağıdaki Gradle komutunu yürütün:

./gradlew connectedAndroidTest