Bu kılavuzda, SDK Yöneticisi'ni kullanarak Espresso'yu yükleme ve Gradle kullanarak derleme işlemleri açıklanmaktadır. Android Studio önerilir.
Test ortamınızı ayarlama
Kararsızlığı önlemek için testlerde 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ını ekleme
Projenize Espresso bağımlılıkları eklemek için aşağıdaki adımları tamamlayın:
- Uygulamanızın
build.gradledosyasını açın. Bu genellikle en üst düzeybuild.gradledosyası değil,app/build.gradledosyasıdır. - Bağımlılıkların içine 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 tam listesini görüntüleyin.
Enstrümantasyon çalıştırıcısı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 yayınla doğru yolda olduğumuzdan emin olmak için test çalıştırıcı analizleri toplar. Daha spesifik olarak, her çağırma için test edilen uygulamanın paket adının karma değerini yükler. Bu sayede, Espresso'yu kullanan benzersiz paketlerin sayısını ve kullanım hacmini ölçebiliriz.
Bu verileri yüklemek istemiyorsanız enstrümantasyon komutunuza disableAnalytics bağımsız değişkenini ekleyerek kapsam dışında kalabilirsiniz:
adb shell am instrument -e disableAnalytics true
İlk testi ekleme
Android Studio, testleri varsayılan olarak src/androidTest/java/com.example.package/ içinde oluşturur.
Kuralların kullanıldığı ö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 yapma
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ı tamamlayı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 enstrümantasyon çalıştırıcısı 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