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 Kaydedici'yi kullanarak test oluşturun
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. Daha sonra Espresso Test Kaydedici, kaydedilen kaydı alır ve otomatik olarak buna karşılık gelen bir Espresso kullanıcı arayüzü testini oluşturur. Bu testi, uygulamanızı Test Lab üzerinde test etmek için çalıştırabilirsiniz.
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, araçlı testlerinize ekleyebileceğiniz bir sistem değişkeni sağlar. Böylece, Test Lab içinde çalıştırdığınızda testlerin, kendi test cihazınızda veya emülatörünüzde çalıştırdığınızdan farklı şekilde davranmasına neden olabilirsiniz.
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çalama ile kırıklar yaklaşık olarak aynı süre boyunca çalışır ve test sonuçlarını mümkün olan en hızlı ş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.