Bu kılavuzda, SDK Yöneticisi'ni kullanarak Espresso'yu yükleme ve Gradle'ı kullanarak derleme işlemleri ele alınmaktadır. Android Studio önerilir.
Test ortamınızı ayarlama
Kararsızlığı önlemek için test amacıyla kullanılan sanal veya fiziksel cihazlarda sistem animasyonlarını kapatmanızı önemle tavsiye ederiz. Cihazınızda Ayarlar > Geliştirici seçenekleri bölümünde 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ılıkları ekleme
Espresso bağımlılıklarını projenize eklemek için aşağıdaki adımları tamamlayın:
- Uygulamanızın
build.gradledosyasını açın. Bu genellikle üst düzeybuild.gradledosyası değil,app/build.gradledosyasıdır. - dependencies bölümüne aşağıdaki satırları ekleyin:
Modern
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 bağımlılıklarının tamamını görüntüleyin.
Araç çalıştırma aracını ayarlama
Aynı build.gradle dosyasına android.defaultConfig içinde 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 36 defaultConfig { applicationId "com.my.awesome.app" minSdkVersion 23 targetSdkVersion 36 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(36) defaultConfig { applicationId = "com.my.awesome.app" minSdkVersion(23) targetSdkVersion(36) 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') }
Analytics
Her yeni sürümde doğru yolda olduğumuzdan emin olmak için test çalıştırıcı, analiz verileri toplar. Daha açık belirtmek gerekirse her çağrı için test edilen uygulamanın paket adının karmasını yükler. Bu sayede hem Espresso kullanan benzersiz paketlerin sayısını hem de kullanım hacmini ölçebiliriz.
Bu verileri yüklemek istemiyorsanız ölçüm komutunuza disableAnalytics bağımsız değişkenini ekleyerek devre dışı bırakabilirsiniz:
adb shell am instrument -e disableAnalytics true
İlk testi ekleme
Android Studio, testleri varsayılan olarak src/androidTest/java/com.example.package/ dizininde oluşturur.
Kuralları kullanan ö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 test yapılandırması oluşturmak için aşağıdaki adımları uygulayın:
- Run > Edit Configurations'ı (Çalıştır > Yapılandırmaları Düzenle) açın.
- Yeni bir Android Testleri yapılandırması ekleyin.
- Bir modül seçin.
- Belirli bir araç çalıştırma programı ekleyin:
androidx.test.runner.AndroidJUnitRunner - Yeni oluşturulan yapılandırmayı çalıştırın.
Komut satırından
Aşağıdaki Gradle komutunu çalıştırın:
./gradlew connectedAndroidTest