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:
- Uygulamanızın
build.gradle
dosyasını açın. Bu genellikle üst düzeybuild.gradle
dosyası değil,app/build.gradle
dosyasıdır. - Aşağıdaki satırları bağımlılıkların içine 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.
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.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') }
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:
- Çalıştır > Yapılandırmaları Düzenle'yi açın.
- Yeni bir Android Tests yapılandırması ekleyin.
- Bir modül seçin.
- Belirli bir enstrümantasyon aletini ekleyin:
androidx.test.runner.AndroidJUnitRunner
- 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