Espresso Test Çerçevesi - Kurulum Talimatları
Bu bölümde, espresso çerçevesinin nasıl kurulacağını anlayalım, espresso testleri yazacak şekilde yapılandıralım ve android uygulamamızda çalıştıralım.
Önkoşullar
Espresso, Android SDK kullanarak Java / Kotlin dilinde geliştirilen android uygulamasını test etmek için bir kullanıcı arayüzü test çerçevesidir. Bu nedenle espressonun tek gereksinimi, uygulamayı Android SDK kullanarak Java veya Kotlin'de geliştirmektir ve en son Android Studio'ya sahip olması tavsiye edilir.
Espresso çerçevesinde çalışmaya başlamadan önce doğru şekilde yapılandırılması gereken öğelerin listesi aşağıdaki gibidir -
En son Java JDK'yı yükleyin ve JAVA_HOME ortam değişkenini yapılandırın.
En son Android Studio'yu (sürüm 3.2. Veya üstü) yükleyin.
SDK Yöneticisini kullanarak en son Android SDK'yı yükleyin ve ANDROID_HOME ortam değişkenini yapılandırın.
En son Gradle Build Tool'u yükleyin ve GRADLE_HOME ortam değişkenini yapılandırın.
EspressoTesting Çerçevesini Yapılandırın
Başlangıçta, espresso test çerçevesi Android Destek kitaplığının bir parçası olarak sağlanır. Daha sonra, Android ekibi yeni bir Android kitaplığı olan AndroidX'i sağlar ve en son espresso testi çerçeve geliştirmesini kitaplığa taşır. Espresso test çerçevesinin en son geliştirme (Android 9.0, API seviyesi 28 veya üstü) AndroidX kitaplığında yapılacaktır.
Bir projeye espresso test çerçevesini dahil etmek, espresso test çerçevesini uygulama gradle dosyasında (app / build.gradle) bir bağımlılık olarak ayarlamak kadar basittir. Tam konfigürasyon aşağıdaki gibidir,
Android destek kitaplığını kullanarak,
android {
defaultConfig {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espressocore:3.0.2'
}
AndroidX kitaplığını kullanarak,
android {
defaultConfig {
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.androidx.test:runner:1.0.2'
androidTestImplementation 'com.androidx.espresso:espresso-core:3.0.2'
}
testInstrumentationRunner içinde android / defaultConfig setleri AndroidJUnitRunner enstrümantasyon testler sınıfı. İlk satırı bağımlılıkları içeren JUnit test çerçeve, ikinci hat bağımlılıkları test durumları çalıştırmak için deney kanal kütüphane içerir ve son olarak üçüncü satır bağımlılıkları espresso test çerçevesi içerir.
Varsayılan olarak, Android Studio, android projesini oluştururken espresso test çerçevesini (Android destek kitaplığı) bağımlılık olarak ayarlar ve gradle, gerekli kitaplığı Maven deposundan indirir. Basit bir Hello world android uygulaması oluşturalım ve espresso test çerçevesinin doğru yapılandırılıp yapılandırılmadığını kontrol edelim.
Yeni bir Android uygulaması oluşturmanın adımları aşağıda açıklanmıştır -
Android Studio'yu başlatın.
Dosya → Yeni → Yeni Proje'yi seçin.
Enter Uygulama Adı (HelloWorldApp) ve Şirket alanı (espressosamples.tutorialspoint.com) ve ardından İleri'ye .
Android Projesi oluşturmak için,
API 15: Android 4.0.3 (IceCreamSandwich) olarak minimum API'yi seçin ve ardından İleri'ye tıklayın.
Android Cihazları hedeflemek için,
Seç Boş Aktivite ve ardından İleri'ye .
Mobil'e bir aktivite eklemek için,
Ana aktivite için bir isim girin ve ardından Bitir öğesine tıklayın .
Aktiviteyi yapılandırmak için,
Yeni bir proje oluşturulduktan sonra app / build.gradle dosyasını açın ve içeriğini kontrol edin. Dosyanın içeriği aşağıda belirtilmiştir,
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.tutorialspoint.espressosamples.helloworldapp"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espressocore:3.0.2'
}
Son satır, espresso test çerçevesi bağımlılığını belirtir. Varsayılan olarak, Android destek kitaplığı yapılandırılmıştır. Menüden Refactor → Migrate to AndroidX'e tıklayarak uygulamayı AndroidX kitaplığını kullanacak şekilde yeniden yapılandırabiliriz .
Androidx'e geçmek için,
Şimdi, app / build.gradle aşağıda belirtildiği gibi değişir,
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.tutorialspoint.espressosamples.helloworldapp"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}
Şimdi, son satır, AndroidX kitaplığından espresso test çerçevesini içerir.
Cihaz ayarları
Test sırasında, test için kullanılan Android cihazdaki animasyonun kapatılması önerilir. Bu, boşta çalışan kaynakları kontrol ederken kafa karışıklıklarını azaltacaktır.
Android cihazlarda animasyonu nasıl devre dışı bırakacağımızı görelim - (Ayarlar → Geliştirici seçenekleri),
Pencere animasyon ölçeği
Geçiş animasyonu ölçeği
Animatör süre ölçeği
Eğer Geliştirici seçenekleri menüsü mevcut değildir Ayarlar ekranında, ardından yapı numarası içindeki mevcut Telefon Hakkında seçeneği birkaç kez. Bu, Geliştirici Seçeneği menüsünü etkinleştirir .