Android Studio ile test çalıştırma

Firebase Test Lab, Android uygulamalarını test etmek için bulut tabanlı altyapı sağlar ve enstrümantasyon testlerini çalıştırmak ve test sonuçlarını incelemek için Android Studio ile tam entegrasyon sunar.

Bu kılavuzda, Android Studio'da enstrümantasyon testlerini nasıl değiştireceğiniz açıklanmaktadır. Böylece bu testleri Test Lab ile entegre edip çalıştırabilirsiniz. Android Studio kullanıcı arayüzünden Test Lab kullanarak test matrisi oluşturma, enstrümantasyon testi çalıştırma ve test sonuçlarını görüntüleme talimatları için Testlerinizi Firebase Test Lab ile çalıştırma başlıklı makaleyi inceleyin.

Ekran görüntüsü alma

Test Lab, enstrümantasyon testleri çalıştırılırken ekran görüntüsü alma desteği sağlar. Ekran görüntüsü almayı öğrenmek için Ekran görüntüsü kitaplığını projenize ekleme başlıklı makaleyi inceleyin.

Espresso Test Recorder'ı kullanarak test oluşturma

Espresso Test Recorder aracı, herhangi bir test kodu yazmadan uygulamanız için kullanıcı arayüzü testleri oluşturmanıza olanak tanır. Bir cihazla etkileşimlerinizi kaydedebilir ve uygulamanızın belirli anlık görüntülerindeki kullanıcı arayüzü öğelerini doğrulamak için onaylar ekleyebilirsiniz. Espresso Test Recorder, kaydedilen kaydı alır ve uygulamanızı Test Lab içinde test etmek için çalıştırabileceğiniz ilgili bir Espresso kullanıcı arayüzü testini otomatik olarak oluşturur.

Daha fazla bilgi için Espresso Test Recorder ile kullanıcı arayüzü testleri oluşturma başlıklı makaleyi inceleyin.

Test Lab için enstrümantasyon testi davranışını değiştirme

Test Lab, enstrümantasyon testlerinize ekleyebileceğiniz bir sistem değişkeni sağlar. Böylece, testleri Test Lab'ta çalıştırdığınızda kendi test cihazınızda veya emülatörünüzde çalıştırdığınızdan farklı davranmalarını sağlayabilirsiniz.

Aşağıdaki kod örneğinde, bir sistem özelliği (firebase.test.lab) okunur ve test Test Lab içinde çalışıyorsa bir dize (testLabSetting) true olarak ayarlanır. Ardından, ek ifadelerin yürütülüp yürütülmeyeceğini kontrol etmek için bu dize değerini kullanır:

Kotlin

val testLabSetting = Settings.System.getString(contentResolver, "firebase.test.lab")
if ("true" == testLabSetting) {
    // Do something when running in Test Lab
    // ...
}

Java

String testLabSetting = Settings.System.getString(getContentResolver(), "firebase.test.lab");
if ("true".equals(testLabSetting)) {
    // Do something when running in Test Lab
    // ...
}

Firebase Test Lab eklentisi aracılığıyla Gradle tarafından yönetilen cihazları kullanma

Firebase Test Lab eklentisi aracılığıyla Gradle tarafından yönetilen cihazlar, projenizin Gradle dosyalarındaki yapılandırmalara göre Test Lab cihazlarda otomatik enstrümantasyon testlerini geniş ölçekte çalıştırmanıza olanak tanır.

Gradle tarafından yönetilen cihazlar, testleri önceki test geçmişinize göre parçalar arasında en uygun şekilde dağıtmanıza olanak tanıyan akıllı parçalama özelliği de sunar. Akıllı parçalama sayesinde parçalar yaklaşık olarak aynı süre boyunca çalışır ve test sonuçlarını mümkün olan en kısa sürede döndürür. Akıllı parçalama, büyük test paketlerini paralel olarak çalıştırmanıza olanak tanır. Bu sayede, bu özellik CI/CD akışları için idealdir.

Gradle tarafından yönetilen cihazlar Test Lab eklentisini kullanarak akıllı parçalama özelliğini etkinleştirmek için Akıllı parçalama ile test çalıştırmalarını optimize etme bölümündeki talimatları uygulayın.