Bu kılavuz, gcloud CLI kullanılarak bir XCTest veya Game Loop testinin nasıl çalıştırılacağını açıklar.
1. Adım : Yerel Google Cloud SDK ortamınızı yapılandırın
- Google Cloud SDK'yı indirin.
- Yüklemenizin güncel olduğundan ve
gcloud firebase
komutunu içerdiğinden emin olun:gcloud components update
- Google hesabınızı kullanarak gcloud CLI'de oturum açın:
gcloud auth login
- Firebase projenizi gcloud'da ayarlayın; burada PROJECT_ID , Firebase projenizin kimliğidir:
gcloud config set project PROJECT_ID
Buna gcloud CLI aracı da dahildir.
2. Adım : Testinizi çalıştırın
Bir XCTest çalıştırın
Aşağıdaki komutu çalıştırarak testinizin .zip dosyasını yükleyin (uygulamanızı henüz paketlemediyseniz, bkz . XCTest'inizi paketleme ):
cd FOLDER_WITH_TEST_OUTPUT/Build/Products ; \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
Test boyutlarınızı seçin.
Test Lab, çeşitli iOS sürümlerinde, cihazlarda, ekran yönlendirmelerinde ve yerel ayarlarda testler çalıştırmanıza olanak tanır. Bu konfigürasyonlar, testin test boyutları olarak bilinir. Her boyuta ilişkin seçenekleri görmek için (örneğin, aygıtın iOS sürümü için desteklenen Xcode sürümleri), aşağıdaki komutta
dimension
yerinemodels
,versions
veyalocales
değiştirin:gcloud firebase test ios dimension list
Tek seçenekleri
portrait
velandscape
olduğundan ekran yönlendirmesi biraz daha basittir.Test boyutları listesine bakın ve testinizi üzerinde çalıştırmak istediğiniz birkaç kombinasyon seçin. Günde çalıştırabileceğiniz maksimum kombinasyon sayısını görmek için Fiyatlandırma Planlarını ziyaret edin.
Bir dizi test boyutu seçtikten sonra, Test Lab'in testlerinizi
firebase test ios run
komutunu kullanarak çalıştırmasını sağlayabilirsiniz. Test etmek istediğiniz her test boyutu kombinasyonu için ayrı bir--device
işareti ekleyin:gcloud firebase test ios run --test PATH/TO/MyTests.zip \ --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \ --device model=MODEL_ID_2,version=VERSION_ID_2,locale=LOCALE_2,orientation=ORIENTATION_2 \ etc...
Testin oluşturulduğu Xcode sürümü ile Test Lab tarafından kullanılan varsayılan Xcode sürümü arasındaki uyumsuzluk nedeniyle testinizin başarısız olması mümkündür. Testiniz için desteklenen bir Xcode sürümü belirtmek için
--xcode-version
işaretini kullanın:gcloud firebase test ios run --test PATH/TO/MyTests.zip \ --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \ --xcode-version=11.3
Özel Yetkileri Test Edin
Açık bir Uygulama Kimliği gerektiren yetkilendirmeleri test etmek için --test-special-entitlements
bayrağını ayarlayarak bunu yapabilirsiniz. Test Lab, özel yetkilendirmeleri desteklemek için uygulamayı yeni bir paket tanımlayıcıyla yeniden imzalar, bu nedenle lütfen zip dosyanızda uygulamanın paket kimliğine doğrudan referanslar içeren hiçbir kaynak olmadığından emin olun. Push bildirimleri
Anında iletme bildirimi isteklerini yetkilendirmek için kullanıcılar, Anahtar Kimliği - C7FD9DJAA8 ve Takım Kimliği - 9CKCGNNUQN ile birlikte özel imzalama anahtarını kullanarak JSON web belirteçleri oluşturabilir. Oluşturulan jetonlar bir saat boyunca geçerli olacak ve her 60 dakikada bir yenilenmesi gerekiyor. APN'lere Belirteç Tabanlı Bağlantı Kurma hakkında daha fazlasını okuyun.
Bir Oyun Döngüsü testi çalıştırın
gcloud beta firebase test ios run
komutunu çalıştırın ve çalıştırmayı yapılandırmak için aşağıdaki bayrakları kullanın:
Oyun Döngüsü testleri için işaretler | |
---|---|
--type | Gerekli : Çalıştırmak istediğiniz iOS testinin türünü belirtir. |
--app | Gerekli : Uygulamanızın IPA dosyasına giden mutlak yol (GCS veya dosya sistemi). Bu bayrak yalnızca Oyun Döngüsü testleri çalıştırılırken geçerlidir. |
--scenario-numbers | Uygulamanızda çalıştırmak istediğiniz döngüler (diğer bir deyişle senaryolar). Bir döngü, bir liste veya döngü veya bir dizi döngü girebilirsiniz. Varsayılan döngü 1'dir. Örneğin, |
--device-model | Testinizi yapmak istediğiniz fiziksel cihaz (hangi kullanılabilir cihazları kullanabileceğinizi öğrenin). |
--timeout | Testinizin çalışmasını istediğiniz maksimum süre. Süreyi saniye cinsinden temsil etmek için bir tamsayı veya süreyi daha uzun bir zaman birimi olarak temsil etmek için bir tamsayı ve numaralandırma girebilirsiniz. Örneğin:
|
Örneğin, aşağıdaki komut bir iPhone 8 Plus'ta 1, 4, 6, 7 ve 8 döngülerini çalıştıran bir Oyun Döngüsü testi çalıştırır:
gcloud beta firebase test ios run --type game-loop --app path/to/my/App.ipa --scenario-numbers 1,4,6-8 --device-model=iphone8plus
gcloud CLI hakkında daha fazla bilgi için başvuru belgelerine bakın.
Adım 4 (İsteğe bağlı) : Oluşturacağınız gelecekteki testleri otomatikleştirin
Test Lab ile gcloud komutları yazma
Aksi takdirde gcloud komut satırını kullanarak çalıştıracağınız mobil uygulama test komutlarını otomatikleştirmek için kabuk komut dosyalarını veya toplu iş dosyalarını kullanabilirsiniz. Bu örnek bash betiği, iki dakikalık bir zaman aşımına sahip bir XCTest çalıştırır ve test çalıştırmasının başarıyla tamamlanıp tamamlanmadığını bildirir:
if gcloud firebase test ios run --test MyTest.zip --timeout 2m then echo "Test matrix successfully finished" else echo "Test matrix exited abnormally with non-zero exit code: " $? fi
Komut dosyası çıkış kodları
Test Lab, komut dosyaları veya toplu iş dosyaları kullanarak çalıştırdığınız testlerin sonuçlarını daha iyi anlamak için kullanabileceğiniz birkaç çıkış kodu sağlar.
Çıkış kodu | notlar |
---|---|
0 | Tüm test yürütmeleri geçti. |
1 | Genel bir arıza meydana geldi. Olası nedenler şunlardır: var olmayan bir dosya adı veya bir HTTP/ağ hatası. |
2 | Bilinmeyen komutlar veya bağımsız değişkenler sağlandığı için testten çıkıldı. |
10 | Bir test yürütme içindeki bir veya daha fazla test durumu (test edilen sınıflar veya sınıf yöntemleri) geçemedi. |
15 | Firebase Test Lab, beklenmeyen bir hata nedeniyle test matrisinin geçip geçmediğini belirleyemedi. |
19 | Test matrisi kullanıcı tarafından iptal edildi. |
20 | Bir test altyapısı hatası oluştu. |
Adım 5 : Test sonuçlarını araştırın
Test başladığında, Test Sonuçları sayfasına bir bağlantı alırsınız. Seçtiğiniz farklı konfigürasyonların sayısına ve testleriniz için ayarlanan test zaman aşımı süresine bağlı olarak, testlerin çalışması birkaç dakika sürebilir. Testleriniz çalıştıktan sonra test sonuçlarını inceleyebilirsiniz. Test sonuçlarınızı nasıl yorumlayacağınız hakkında daha fazla bilgi edinmek için Firebase Test Laboratuvarı Sonuçlarını Analiz Etme bölümüne bakın.
Sonraki adım
Genel kullanıma sunulan veya beta sürümündeki test seçeneklerini keşfetmek için Google Cloud SDK belgelerini okuyun.