Bu sayfa, sorun giderme yardımı ve Firebase Test Lab ile test çalıştırma hakkında sık sorulan soruların yanıtlarını sağlar. Bilinen sorunlar da belgelenmiştir. Aradığınızı bulamıyorsanız veya ek yardıma ihtiyacınız varsa Firebase Slack'teki #test-lab kanalına katılın veya Firebase destek ekibiyle iletişime geçin .
Sorun giderme
Test Lab kataloğunda yüksek kapasiteli bir cihaz seçtiğinizde testler daha hızlı başlayabilir. Bir cihazın kapasitesi düşük olduğunda, testlerin çalıştırılması daha uzun sürebilir. Başlatılan test sayısı seçilen cihazların kapasitesinden çok daha fazlaysa testlerin tamamlanması daha uzun sürebilir.
Herhangi bir seviyedeki cihaz kapasitesi seviyesinde çalışan testler, aşağıdaki faktörler nedeniyle daha uzun sürebilir:
- Cihaz kullanılabilirliğini ve test hızını etkileyen trafik.
- Herhangi bir zamanda meydana gelebilecek cihaz veya altyapı arızaları. Test Lab için bildirilen bir altyapı olup olmadığını kontrol etmek için Firebase durum kontrol paneline bakın.
Test Lab'deki cihaz kapasitesi hakkında daha fazla bilgi edinmek için Android ve iOS için cihaz kapasitesi bilgilerine bakın.
Kesin olmayan test sonuçları genellikle iptal edilen test çalıştırmaları veya altyapı hataları nedeniyle ortaya çıkar.
Altyapı hataları, ağ hataları veya beklenmeyen cihaz davranışları gibi dahili Test Laboratuvarı sorunlarından kaynaklanır. Test Laboratuvarı, kesin olmayan bir sonucu bildirmeden önce birden çok kez altyapı hatalarına neden olan test çalıştırmalarını dahili olarak kullanımdan kaldırır; ancak bu yeniden denemeleri failFast kullanarak devre dışı bırakabilirsiniz.
Hatanın nedenini belirlemek için şu adımları izleyin:
- Firebase durum kontrol panelinde bilinen kesintileri kontrol edin.
Tekrarlanabilir olduğunu doğrulamak için Test Lab'de testi tekrar deneyin.
Varsa, testi farklı bir cihazda veya cihaz tipinde çalıştırmayı deneyin.
Sorun devam ederse Firebase Slack'teki #test-lab kanalında Test Lab ekibiyle iletişime geçin.
Parçalama, belirttiğiniz parça sayısı Test Laboratuvarı'nda kullanılabilen cihaz sayısını aştığında testlerinizin daha uzun süre çalışmasına neden olabilir. Bu durumu önlemek için farklı bir cihaza geçmeyi deneyin. Farklı bir aygıt seçme hakkında daha fazla bilgi için bkz.Cihaz Kapasitesi .
Bir test isteği gönderdiğinizde, uygulamanız önce bir cihazda testler çalıştırmaya hazırlık olarak doğrulanır, yeniden imzalanır vb. Normalde bu işlem birkaç saniyeden daha kısa sürede tamamlanır ancak uygulamanızın boyutu gibi faktörlerden etkilenebilir.
Uygulamanız hazırlandıktan sonra test yürütmeleri planlanır ve bir cihaz onu çalıştırmaya hazır olana kadar kuyrukta kalır. Tüm test yürütme işlemleri bitene kadar, matris durumu "Beklemede" olacaktır (test yürütme işlemlerinin kuyrukta veya aktif olarak çalışıyor olmasından bağımsız olarak).
Test yürütmesi tamamlandıktan sonra, test yapıları cihazdan indirilir, işlenir ve Cloud Storage'a yüklenir. Bu adımın süresi, eserlerin miktarı ve boyutundan etkilenebilir.
Sıkça Sorulan Sorular
Firebase Test Lab, cihazlarda test yapmak ve Bulut API'lerini kullanmak için ücretsiz kotalar sunar. Test kotasının standart Firebase fiyatlandırma planını kullanırken Cloud API kotalarının kullanmadığını unutmayın.
Test kotası
Test kotaları, testleri çalıştırmak için kullanılan cihaz sayısına göre belirlenir. Firebase Spark planının, kullanıcılara hiçbir maliyeti olmayan sabit bir test kotası vardır. Blaze planında, zaman içinde Google Cloud kullanımınız artarsa kotalarınız artabilir. Test kotanıza ulaşırsanız, ertesi güne kadar bekleyin veya şu anda Spark planındaysanız Blaze planına yükseltin. Halihazırda Blaze planındaysanız kota artışı talebinde bulunabilirsiniz. Daha fazla bilgi için bkz. Test kotası .
Test kota kullanımınızı Google Cloud Console'da izleyebilirsiniz.
Cloud Testing API kotası
Cloud Testing API, iki kota sınırıyla gelir: proje başına günlük istek sayısı ve proje başına her 100 saniyede bir istek sayısı. Google Cloud Console'da kullanımınızı izleyebilirsiniz.
Cloud Tool Sonuçları API kotası
Bulut Aracı Sonuçları API'si iki kota sınırıyla gelir: proje başına günlük sorgu ve proje başına her 100 saniyede bir sorgu. Google Cloud Console'da kullanımınızı izleyebilirsiniz.
API limitleri hakkında daha fazla bilgi için Test Lab için Cloud API kotalarına bakın. Bir API kotasına ulaştıysanız:
Kotalarınızı doğrudan Google Cloud Console'da düzenleyerek daha yüksek kotalar için istek gönderin (sınırların çoğunun varsayılan olarak maksimum olarak ayarlandığını unutmayın) veya
Google Cloud Console'da bir talep formu doldurarak veya Firebase desteği ile iletişime geçerek daha yüksek API kotaları talep edin.
Arka ucunuzdan, kaynak IP adresini IP aralıklarımıza göre kontrol ederek trafiğin Firebase tarafından barındırılan test cihazlarından gelip gelmediğini belirleyebilirsiniz.
Test Lab, uygulamaların ve diğer test yapılarının Test Lab'in dahili depolaması ile kullanıcıların sonuç grupları arasında kopyalanmasını engelleyen VPC-SC ile çalışmaz. Şu anda, gelecekteki bir sürümde VPC-SC desteği eklemek için bir özellik talebi yapılmıştır.
Testlerinizdeki düzensiz davranışı algılamak için--num-flaky-test-attemptsseçeneğini kullanmanızı öneririz. Deflake yeniden çalıştırmaları, normal test yürütmeleriyle aynı şekilde faturalandırılır veya günlük kotanıza sayılır.
Aşağıdakileri aklınızda bulundurun:
- Bir hata algılandığında tüm test yürütmesi yeniden çalışır. Yalnızca başarısız test durumlarının yeniden denenmesi için destek yoktur.
- Deflake yeniden deneme çalıştırmaları aynı anda çalışacak şekilde programlanır, ancak örneğin trafik kullanılabilir cihaz sayısını aştığında paralel olarak çalışacakları garanti edilmez.
Bu öğelerin bazıları yol haritamızda olsa da, şu anda bu test ve uygulama geliştirme platformlarını destekleme taahhüdünde bulunamıyoruz.
Ayrıntılı cihaz bilgilerine API üzerinden erişilebilir ve bu bilgilere gcloud istemcisinden define komutu kullanılarak erişilebilir:
gcloud firebase test ios models describe MODEL
Parçalama, iOS için Test Lab'de yerel olarak desteklenmez. Ancak, iOS test durumlarını parçalamak için Flank istemcisini kullanabilirsiniz.
Bu, OnlyTestIdentifiers
anahtarını ve .xctestrun
dosyasındaki değerleri ayarlayarak çalışır. Daha fazla ayrıntı için xcodebuild.xctestrun
man
sayfasına bakın.