Test Lab sorun giderme & SSS
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Bu sayfada, Firebase Test Lab ile test çalıştırma hakkında sorun giderme yardımı ve sık sorulan soruların yanıtları yer almaktadır. Bilinen sorunlar da belgelenir. Aradığınızı bulamıyorsanız veya daha fazla yardıma ihtiyacınız varsa Firebase Slack'teki #test-lab kanalına katılın veya Firebase Destek Ekibi ile iletişime geçin.
Sorun giderme
Testimin çalıştırılması neden bu kadar uzun sürüyor?
Katalogda kapasite seviyesi yüksek bir cihaz seçtiğinizde Test Lab
testler daha hızlı başlayabilir. Cihazın kapasitesi düşükse testlerin çalıştırılması daha uzun sürebilir. Çağrılan testlerin sayısı, seçilen cihazların kapasitesinden çok daha fazlaysa testlerin tamamlanması daha uzun sürebilir.
Herhangi bir cihaz kapasitesi seviyesinde çalışan testler, aşağıdaki faktörler nedeniyle daha uzun sürebilir:
Trafik: Cihaz kullanılabilirliğini ve test hızını etkiler.
Her an meydana gelebilecek cihaz veya altyapı arızaları. Test Lab için bildirilen bir altyapı sorunu olup olmadığını kontrol etmek üzere Firebase Durum Kontrol Paneli'ne bakın.
Test Lab uygulamasındaki cihaz kapasitesi hakkında daha fazla bilgi edinmek için Android ve iOS ile ilgili cihaz kapasitesi bilgilerini inceleyin.
Neden kesin olmayan test sonuçları alıyorum?
Kesin olmayan test sonuçları genellikle iptal edilen test çalıştırmaları veya altyapı hataları nedeniyle ortaya çıkar.
Altyapı hataları, ağ hataları veya beklenmedik cihaz davranışları gibi dahili Test Lab sorunlarından kaynaklanır. Test Lab, sonuçsuz bir sonuç bildirmeden önce birden çok kez altyapı hatası üreten test çalıştırmalarını dahili olarak yeniden dener. Ancak failFast kullanarak bu yeniden denemeleri devre dışı bırakabilirsiniz.
Hatanın nedenini belirlemek için aşağıdaki adımları uygulayın:
Tekrarlanabilir olduğunu doğrulamak için testi Test Lab içinde yeniden deneyin.
Mümkünse testi farklı bir cihazda veya cihaz türünde çalıştırmayı deneyin.
Sorun devam ederse Firebase Slack'teki #test-lab kanalındaTest Lab ekibiyle iletişime geçin.
Parçalama, testlerimin neden daha uzun sürmesine neden oldu?
Belirttiğiniz parça sayısı Test Lab uygulamasında kullanılabilecek cihaz sayısını aştığında parçalama, testlerinizin daha uzun sürmesine neden olabilir. Bu durumdan kaçınmak için farklı bir cihaza geçmeyi deneyin. Farklı bir cihaz seçme hakkında daha fazla bilgi için
Cihaz Kapasitesi başlıklı makaleyi inceleyin.
Testimin başlaması neden uzun sürüyor?
Test isteği gönderdiğinizde uygulamanız önce doğrulanır, yeniden imzalanır ve bir cihazda test çalıştırmaya hazırlanır. Bu işlem normalde birkaç saniyeden kısa sürer ancak uygulamanızın boyutu gibi faktörlerden etkilenebilir.
Uygulamanız hazırlandıktan sonra test işlemleri planlanır ve bir cihaz testi çalıştırmaya hazır olana kadar kuyrukta kalır. Tüm test işlemleri tamamlanana kadar matris durumu "Beklemede" olur (test işlemlerinin sırada veya etkin bir şekilde çalışıyor olmasına bakılmaksızın).
Testimin tamamlanması neden bu kadar uzun sürüyor?
Test işlemi tamamlandıktan sonra test yapıları cihazdan indirilir, işlenir ve Cloud Storage hizmetine yüklenir. Bu adımın süresi, yapıların miktarı ve boyutundan etkilenebilir.
Android'e özgü sorun giderme
Uygulama veri döndürmüyor ve ekran görüntülerini bulamıyor
Test işlemi yapıları (ör. ekran görüntüleri ve günlük dosyaları) Google Cloud Storage içinde depolanır ve doğrudan Firebase konsolunda oluşturulur. Test işleminiz son 90 gün içinde gerçekleştirildiyse proje düzeyinde roller (proje sahibi, proje düzenleyicisi veya proje görüntüleyicisi) atadığınızdan emin olun.
Ayrıca projeniz veya kuruluşunuz için Cloud Denetleme Günlüğü'nün etkinleştirilmediğinden emin olun.
Yürütme 90 günden daha uzun bir süre önce gerçekleştirildiyse test yapıları büyük olasılıkla otomatik olarak silinmiştir. Test Lab kontrol panelindeki Test sonuçları sekmesini tıklayarak sonuç grubu yapılandırmasını kontrol edebilirsiniz. Varsayılan sonuç paketi, nesneleri 90 gün boyunca saklayacak şekilde yapılandırılmıştır.
Test yapılarınızı daha uzun süre saklamak için gcloud firebase test android run komutunu --results-bucket işaretiyle çalıştırın ve sonuç paketinin adını iletin. Daha fazla bilgi için gcloud firebase test android run referans belgelerini inceleyin.
Neden kısmi veya eksik enstrümantasyon testi durumu sonuçları alıyorum?
Enstrümantasyon testleri çalıştırırken Test run failed to complete. Expected
x tests, received y gibi mesajlar içeren kısmi sonuçları gösteren test hataları görebilirsiniz (burada y, x değerinden küçüktür). Bu hata, Test Lab aracının genellikle AndroidJUnitRunner tarafından oluşturulan test durumu başlangıç veya bitiş işaretçileri için logcat'i ayrıştıramadığı anlamına gelir.
Bu sorunun yaygın nedenleri şunlardır:
Sorun açıklaması
Olası çözüm
Test durumu, zaman aşımı nedeniyle çalıştırılmadı. Testlerin toplam süresi, belirttiğiniz zaman aşımından veya maksimum zaman aşımından uzunsa Test Lab, kalan test durumlarını iptal eder.
Tüm testlerin tamamlanabilmesi için matrisin zaman aşımı süresini artırın.
Henüz yapmadıysanız testleri parçalara ayırın. Böylece her parça, testlerin bir alt kümesini çalıştırır ve daha kısa sürede tamamlanır.
Parçalamayı zaten etkinleştirdiyseniz parça sayısını artırın.
Test durumu, erken sonlandırıldığı veya takıldığı için tamamlanamadı.
Test durumu, yakalanmamış bir istisna veya onaylama hatası nedeniyle erken sonlanabilir. Test durumları sonsuz döngüye girebilir veya devam edemeyebilir. Örneğin, uygulama doğru görünümü göstermiyorsa ve test durumu kullanıcı arayüzünde işlemi gerçekleştiremiyorsa bu durum yaşanabilir.
Testin nerede durduğunu araştırmak için videoyu ve logcat inceleyin.
Özel bir test çalıştırıcı (AndroidJUnitRunner'ın genişletilmesi dahil) beklenmedik bir şekilde kilitlendi veya logcat dosyasına beklenmedik test durumu başlangıç ya da bitiş işaretleri yazdı.
Test çalıştırıcı kodunuzu kontrol edin.
logcat dosyasına aşırı sayıda günlük yazıldı. Bu durum, arabelleği doldurdu veya logcat işleminin kilitlenmesine neden oldu.
logcat için yazma işlemlerini azaltın.
Test edilen uygulama kilitlendi.
Uygulamanızda hata ayıklama
Sık sorulan sorular (SSS)
Test Lab için ücretsiz kotalar nelerdir? Kredim biterse ne yapmalıyım?
Firebase Test Lab, cihazlarda test yapmak ve Cloud API'lerini kullanmak için ücretsiz kotalar sunar. Test kotası için standart Firebase fiyatlandırma planı kullanılırken Cloud API kotaları için bu plan kullanılmaz.
Test kotası
Test kotaları, testleri çalıştırmak için kullanılan cihaz sayısına göre belirlenir.
Firebase Spark planında, kullanıcılara ücretsiz olarak sunulan sabit bir test kotası vardır. Blaze planında, Google Cloud kullanımınız zaman içinde artarsa kotalarınız da artabilir. Test kotanıza ulaşırsanız bir sonraki günü bekleyin veya Spark planını kullanıyorsanız Blaze planına geçin.
Blaze planını kullanıyorsanız kota artışı isteğinde bulunabilirsiniz.
Daha fazla bilgi için Test kotası başlıklı makaleyi inceleyin.
Cloud Testing API'nin iki kota sınırı vardır: proje başına günlük istek sayısı ve proje başına her 100 saniyedeki istek sayısı. Kullanımınızı Google Cloud konsolundan izleyebilirsiniz.
Cloud Tool Results API kotası
Cloud Tool Results API'nin iki kota sınırı vardır: proje başına günlük sorgu sayısı ve proje başına her 100 saniyedeki sorgu sayısı. Kullanımınızı Google Cloud konsolundan izleyebilirsiniz.
API sınırları hakkında daha fazla bilgi için Test Lab için Cloud API kotaları başlıklı makaleyi inceleyin. API kotasına ulaştıysanız:
Doğrudan Google Cloud konsolunda kotalarınızı düzenleyerek daha yüksek kotalar için istekte bulunun (çoğu sınırın varsayılan olarak maksimum değere ayarlandığını unutmayın) veya
Google Cloud konsolunda bir istek formu doldurarak veya Firebase Destek Ekibi ile iletişime geçerek daha yüksek API kotaları talep edin.
Arka ucuma ulaşan trafiğin Test Lab üzerinden gelip gelmediğini nasıl öğrenebilirim?
Arka ucunuzdan, kaynak IP adresini IP aralıklarımızla karşılaştırarak trafiğin Firebase tarafından barındırılan test cihazlarından gelip gelmediğini belirleyebilirsiniz.
Test Lab, VPC-SC ile çalışır mı?
Test Lab, VPC-SC ile çalışmaz. VPC-SC, uygulamaların ve diğer test yapılarının Test Lab'ın dahili depolama alanı ile kullanıcıların sonuç paketleri arasında kopyalanmasını engeller.
Test Lab uygulamasında güvenilir olmayan testleri nasıl tespit edebilirim?
Testlerinizdeki tutarsız davranışları tespit etmek için
--num-flaky-test-attempts
seçeneğini kullanmanızı öneririz. Deflake yeniden çalıştırmaları, normal test işlemleriyle aynı şekilde faturalandırılır veya günlük kotanıza dahil edilir.
Şunları unutmayın:
Bir hata algılandığında test işlemi baştan sona tekrar çalıştırılır. Yalnızca başarısız test durumlarını yeniden deneme özelliği desteklenmez.
Deflake yeniden deneme çalıştırmaları aynı anda çalışacak şekilde planlanır ancak paralel olarak çalışacakları garanti edilmez. Örneğin, trafik mevcut cihaz sayısını aştığında paralel olarak çalışmazlar.
iOS'e özel SSS
Test Lab; Appium, Flutter/FlutterDriver, ReactNative/Jest veya Cucumber'ı destekliyor mu?
Bu öğelerden bazıları yol haritamızda yer alsa da şu anda bu test ve uygulama geliştirme platformlarını destekleme konusunda taahhütte bulunamıyoruz.
Çözünürlük gibi cihaz ayrıntılarını
nerede bulabilirim?
Ayrıntılı cihaz bilgilerine API üzerinden erişilebilir. Bu bilgilere gcloud istemcisinden describe komutu kullanılarak erişilebilir:
gcloud firebase test ios models describe MODEL
iOS testlerinde parçalama kullanabilir miyim?
Parçalama, iOS için Test Lab'te yerel olarak desteklenmez. Ancak iOS test durumlarını parçalara ayırmak için Flank istemcisini kullanabilirsiniz.
Bu işlem, .xctestrun dosyasında OnlyTestIdentifiers anahtarını ve değerlerini ayarlayarak yapılır.
Daha fazla bilgi için xcodebuild.xctestrun ile ilgili man sayfasına bakın.
iOS test sonuçlarımda neden video yok?
iOS 18 veya sonraki sürümlerde, sonuçlarda videoları destekleyemiyoruz.
Android'e özel SSS
Test Lab, giyilebilir cihazları destekliyor mu?
Evet! Test Lab, Google Pixel Watch'u destekler. Artık Google Pixel Watch'larda bağımsız Wear uygulamanızda testler çalıştırabilirsiniz. Test Lab cihazlar hakkında daha fazla bilgi edinmek için Kullanılabilir cihazlarda test etme başlıklı makaleyi inceleyin.
Test Lab, en yeni Google cihazlarını destekliyor mu?
Evet! Test Lab, Google Pixel Tablet ve Google Pixel Fold'u destekler. Testlerinizi bağımsız fiziksel cihazlarınızda çalıştırabilirsiniz.
Test Lab cihazlar hakkında daha fazla bilgi edinmek için Kullanılabilir cihazlarda test etme bölümüne bakın.
Test Lab uygulamasında çalışan bir testi nasıl tespit ederim?
Uygulamanızı Firebase'de test ediyorsanız veya Play Console'da lansman öncesi rapor için testler çalıştırıyorsanız MainActivity dosyanızda firebase.test.lab sistem özelliğini kontrol ederek testin Firebase tarafından barındırılan bir cihazda çalıştırılıp çalıştırılmadığını tespit edebilirsiniz. Ardından testLabSetting için boole değerine göre ek ifadeler yürütebilirsiniz. Daha fazla bilgi için Değiştirilen test davranışları başlıklı makaleyi inceleyin.
Test Lab; Appium, Flutter/FlutterDriver, ReactNative/Jest veya Cucumber'ı destekliyor mu?
Bu öğelerden bazıları yol haritamızda yer alsa da şu anda bu test ve uygulama geliştirme platformlarını destekleme konusunda taahhütte bulunamıyoruz. Ancak uygulamanızı Espresso'yu destekleyen bir çerçeveyle (ör. Flutter) oluşturduysanız Espresso kullanarak bir enstrümantasyon testi yazabilir ve ardından testi Test Lab içinde çalıştırabilirsiniz.
Test Lab, gizlenmiş uygulamaların (ör. ProGuard veya R8 ile) test edilmesini destekliyor mu?
Test Lab, kod karartma veya kod gösterme işlemlerini açıkça desteklemez. Uygulama büyük olasılıkla çalışır ancak yığın izlemeleri gibi gizlenmiş uygulama verileri, günlüklerde gizlenmiş olarak görünür.
Test Lab üzerinde test yaparken katlanabilir cihazımı farklı katlanabilir durumlarda ve duruşlarda kullanabilir miyim?
Katlanabilir cihazlar, FLAT (tamamen açık) veya HALF_OPENED (tamamen açık ile tamamen kapalı arasında) gibi çeşitli katlanmış durumlarda olabilir.
Duruşlar ise belirli cihaz yönü ve katlanabilir durumdan oluşur. Örneğin, yatay yönde HALF_OPENED durum olan masaüstü duruşu veya dikey yönde HALF_OPENED durum olan kitap duruşu.
Uygulamam yoksa Test Lab hizmetini deneyebilir miyim?
Diğer Firebase ürünlerinin aksine, Test Lab ürününü kullanmak için Firebase SDK'sı eklemeniz gerekmez. Henüz bir uygulamanız yoksa internetten bir APK indirebilir veya AndroidX GitHub deposundaki örneklerden birini kullanarak bir uygulama ve test APK'sı oluşturabilirsiniz.
Robo testi çalıştırmak için yalnızca uygulamanızın APK dosyasına ihtiyacınız vardır. Enstrümantasyon testi için ise kaynak kodundan oluşturulmuş bir uygulama ve test APK'sı gerekir. Daha fazla bilgi için Araçlı testler hakkındaki makaleyi okuyun.
Ekran görüntüsü farkı testi için en iyi cihazlar hangileridir?
Ekran görüntüsü farkı testi, test iddialarının, test çalıştırılırken elde edilen ekran görüntülerinin beklenen davranışı temsil eden altın görüntülerle karşılaştırılmasına dayandığı testtir. Bu tür testler bazı cihaz türlerinde diğerlerine göre daha kırılgan olabilir. Bu tür testler için Arm (*.arm) emülatör cihazlarını hedeflemenizi öneririz. ARM emülatör cihazları, Android Studio "genel" emülatörlerine çok benzeyen veya onlarla aynı olan görüntüler kullanır.
Beklenen değişiklikler olduğunda ekran görüntüsü testlerini daha sağlam hale getirmeye yardımcı olabilecek test kitaplıklarını da incelemenizi öneririz.
Test Lab, sanal cihazları günceller mi?
Evet! Sanal cihazlar, aşağıdaki değişiklikler yapıldığında güncellenir:
Mevcut resimlerde yapılan güncellemeler
Eski API düzeylerinin kullanımdan kaldırılması
Yeni Android API düzeyleri eklendiğinde
Kapsam raporlarını nasıl etkinleştirebilirim?
Kapsam raporlarını etkinleştirmek için environmentVariables alanınacoverage=true ekleyin.
Android Test Orchestrator kullanıyorsanız kapsam sonuçlarını depolamak için bir dizin sağlamanız gerekir:
Çözünürlük ve desteklenen ABI'lar gibi cihaz ayrıntılarını nerede bulabilirim?
Ayrıntılı cihaz bilgilerine API üzerinden erişilebilir. Bu bilgilere gcloud istemcisinden describe komutu kullanılarak erişilebilir:
gcloud firebase test android models describe MODEL
Telefon olmadan Wear uygulamasına nasıl giriş yapabilirim?
Uygulamanız Google ile Oturum Açma'yı destekliyorsa bu işlem bir test hesabıyla otomatik olarak çalışır. Aksi takdirde, uygulamanız normalde giriş için telefon gerektiriyorsa girişi atlayan ve test sürümünüze yerleştirilmiş bir jeton kullanan ya da genellikle --other-files option kullanılarak gönderilen diskteki dosyalardan okunan bir derleme değişkeni oluşturabilirsiniz. Daha fazla bilgi edinmek için Robo testleriyle özel giriş ve metin girişi başlıklı makaleyi inceleyin.
Bilinen sorunlar
Oturum açma CAPTCHA'ları
Robo testi, oturum açmak için kimlik bilgilerini girmekten başka kullanıcı işlemi (ör. CAPTCHA doldurma) gerektiren oturum açma ekranlarını atlayamaz.
iOS'e özgü bilinen sorunlar
Otomatik oturum açma
iOS+ için Robo testlerinde (Beta) Google Hesabı ile otomatik oturum açma desteklenmez.
Android'e özgü bilinen sorunlar
Kullanıcı arayüzü çerçevesi desteği
Robo testi, Android kullanıcı arayüzü çerçevesindeki kullanıcı arayüzü öğelerini (View, ViewGroup ve WebView nesneleri dahil) kullanan uygulamalarda en iyi şekilde çalışır. Unity oyun motorunu kullanan uygulamalar da dahil olmak üzere diğer kullanıcı arayüzü çerçevelerini kullanan uygulamaları çalıştırmak için Robo testi kullanırsanız test, ilk ekranın ötesini keşfetmeden çıkabilir.