Android Studio ile test çalıştırma

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

Bu kılavuzda, Android Studio'da enstrümante testlerin Test Lab ile entegre edilip çalıştırılabilmesi için nasıl değiştirileceği açıklanmaktadır. Test matrisi oluşturmak, enstrümante edilmiş test çalıştırmak ve test sonuçlarını görüntülemek için Android Studio kullanıcı arayüzünden Test Lab'i kullanmayla ilgili talimatlar için Firebase Test Lab ile testlerinizi çalıştırma başlıklı makaleyi inceleyin.

Ekran görüntüsü alma

Test Lab, enstrümante edilmiş testler çalıştırırken ekran görüntüsü yakalama 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 iddialar ekleyebilirsiniz. Ardından Espresso Test Recorder, kayıtlı kaydı alır ve uygulamanızı Test Lab'te test etmek için çalıştırabileceğiniz ilgili bir Espresso kullanıcı arayüzü testi otomatik olarak oluşturur.

Daha fazla bilgi edinmek 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ümante edilmiş testlerinize ekleyebileceğiniz bir sistem değişkeni sağlar. Böylece, enstrümante edilmiş testlerinizi Test Lab'te ç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ği, firebase.test.lab adlı bir sistem mülkünü okur ve test Test Lab'te çalışıyorsa testLabSetting adlı bir dizeyi true olarak ayarlar. Ardından, ek ifadelerin yürütülüp yürütülmeyeceğini kontrol etmek için bu dizenin değerini kullanır:

Kotlin+KTX

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 Managed Devices'i kullanma

Firebase Test Lab eklentisi aracılığıyla Gradle Managed Devices, projenizin Gradle dosyalarındaki yapılandırmalara göre Test Lab cihazlarda otomatik enstrümante edilmiş testleri geniş ölçekte çalıştırmanıza olanak tanır.

Gradle Managed Devices, önceki test geçmişinize göre testleri parçalara en uygun şekilde dağıtmanıza olanak tanıyan akıllı parçalara ayırma özelliği de sunar. Akıllı parçalara ayırma özelliğiyle parçalar yaklaşık olarak aynı süre boyunca çalışır ve test sonuçlarını mümkün olduğunca hızlı bir şekilde döndürür. Akıllı bölümleme, büyük test paketlerini paralel olarak çalıştırmanıza olanak tanır. Bu özellik, CI/CD akışlarına uygundur.

Gradle Managed Devices Test Lab eklentisini kullanarak akıllı bölme işlemini etkinleştirmek için Akıllı bölme ile test çalıştırmalarını optimize etme başlıklı makaledeki talimatları uygulayın.