Firebase Test Lab, Android uygulamalarını test etmek için bulut tabanlı bir altyapı sağlar ve enstrümanlı 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ümanlı testleri Test Lab ile entegre edip çalıştırabilmek için nasıl değiştireceğiniz açıklanmaktadır. Android Studio kullanıcı arayüzünden Test Lab kullanarak test matrisi oluşturma, enstrümanlı test ç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ı makaleye bakın.
Ekran görüntüsü alma
Test Lab, enstrümanlı testler çalıştırılırken ekran görüntüsü alma desteği sunar. Ekran görüntüsü alma hakkında bilgi edinmek 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ı, 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 onaylamalar ekleyebilirsiniz. Ardından 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ü testi 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'da çalıştırdığınızda kendi test cihazınızda veya emülatörünüzde çalıştırdığınızdan farklı şekilde davranmalarını sağlayabilirsiniz.
Aşağıdaki kod örneği, bir sistem özelliği olan firebase.test.lab
'yı okur ve test Test Lab'de çalışıyorsa testLabSetting
dizesini 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
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 ölçekli olarak otomatik enstrümanlı testler çalıştırmanıza olanak tanır.
Gradle tarafından yönetilen cihazlar, akıllı parçalama da sunar. Bu özellik, önceki test geçmişinize göre testleri parçalar arasında optimum şekilde dağıtmanıza olanak tanır. Akıllı parçalama sayesinde 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ı parçalama, büyük test paketlerini paralel olarak çalıştırmanıza olanak tanır. Bu nedenle, bu özellik CI/CD akışları için uygundur.
Gradle Managed Devices Test Lab eklentisini kullanarak akıllı parçalamayı etkinleştirmek için Akıllı parçalama ile test çalıştırmalarını optimize etme başlıklı makaledeki talimatları uygulayın.