Android Studio ile test çalıştırma

Firebase Test Lab, Android uygulamalarını test etmek için bulut tabanlı bir altyapı sağlar ve araçlı testler çalıştırıp test sonuçlarını incelemek için Android Studio ile tam entegrasyon sunar.

Bu kılavuzda, Android Studio'da araçlı testleri Test Lab ile entegre edip çalıştırabilmeniz için nasıl değiştireceğiniz açıklanmaktadır. Test matrisi oluşturmak, enstrümanlı test çalıştırmak ve test sonuçlarını görüntülemek üzere Android Studio kullanıcı arayüzünden Test Lab'i kullanma talimatları için Testlerinizi Firebase Test Lab ile çalıştırma bölümüne bakın.

Ekran görüntüsü al

Test Lab, araçlı testler çalıştırırken ekran görüntüsü yakalama desteği sunar. Ekran görüntüsü almayı öğrenmek için Ekran görüntüsü kitaplığını projenize ekleme bölümüne bakın.

Espresso Test Kaydedici kullanarak test oluşturma

Espresso Test Kaydedici aracı, herhangi bir test kodu yazmadan uygulamanız için kullanıcı arayüzü testleri oluşturmanızı sağlar. Bir cihazla etkileşimlerinizi kaydedebilir ve uygulamanızın belirli anlık görüntülerinde kullanıcı arayüzü öğelerini doğrulamak için onaylar ekleyebilirsiniz. Espresso Test Kaydedici, kaydedilen kaydı alıp otomatik olarak buna karşılık gelen bir Espresso kullanıcı arayüzü testi oluşturur. Bu testi, uygulamanızı Test Lab'de test etmek için çalıştırabilirsiniz.

Daha fazla bilgi edinmek için Espresso Test Kaydedici ile Kullanıcı Arayüzü Testleri Oluşturma sayfasını inceleyin.

Araçlı test davranışını Test Lab için değiştirme

Test Lab, donatılmış testlerinize ekleyebileceğiniz bir sistem değişkeni sağlar. Böylece, bunları Test Lab'de çalıştırdığınızda kendi test cihazınızda veya emülatörünüzde çalıştırdığınızda olduğundan farklı davranmalarına neden olabilirsiniz.

Aşağıdaki kod örneği, test Test Lab'de çalışıyorsa firebase.test.lab adlı sistem özelliğini okur ve testLabSetting değerini 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 Yönetilen Cihazları kullanma

Firebase Test Lab eklentisi aracılığıyla Gradle Yönetilen Cihazlar, projenizin Gradle dosyalarındaki yapılandırmalara dayalı olarak Test Lab cihazlarında, otomatik olarak gerçekleştirilen araçları içeren testleri geniş ölçekte çalıştırmanızı sağlar.

Gradle Yönetilen Cihazlar, akıllı parçalama özelliği de sunar. Bu özellik, testleri önceki test geçmişinize göre parçalar arasında optimum şekilde dağıtmanızı sağlar. Akıllı parçalama sayesinde parçalar yaklaşık 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ı parçalama, büyük test paketlerini paralel olarak çalıştırmanızı sağlar. Böylece bu özellik CI/CD akışları için son derece uygundur.

Gradle Managed Cihazlar Test Lab eklentisini kullanarak akıllı parçalamayı etkinleştirmek için Akıllı parçalama ile test çalıştırmalarını optimize etme bölümündeki talimatları uygulayın.