Bu kılavuzda, gcloud kullanılarak XCTest veya Oyun Döngüsü testinin nasıl çalıştırılacağı açıklanmaktadır. KSA.
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
komutu:gcloud components update
- Google Hesabınızı kullanarak gcloud KSA'ya giriş yapın:
gcloud auth login
- Firebase projenizi, PROJECT_ID öğesinin bulunduğu gcloud'da ayarlayın
Firebase projenizin kimliği:
gcloud config set project PROJECT_ID
gcloud KSA aracı da buna dahildir.
2. Adım: Testinizi çalıştırın
XCTest çalıştırma
Aşağıdaki komutu çalıştırarak testinizin .zip dosyasını yükleyin ( 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, ekranlarda testler çalıştırmanızı sağlar ve yerel ayarlar. Bu yapılandırmalar testin test boyutlarını kullanın. Her boyutla ilgili seçenekleri görmek için (ör. cihazın iOS sürümü için desteklenen Xcode sürümleri), Şunun için
models
,versions
veyalocales
:dimension
komutunu girin:gcloud firebase test ios dimension list
Ekran yönü biraz daha basit, çünkü yalnızca
portrait
velandscape
.Test boyutları listesine göz atın ve istediğiniz birkaç kombinasyonu seçin testinizi çalıştırın. Aşağıdaki bilgileri görmek için Fiyatlandırma Planları'nı ziyaret edin: günlük maksimum kombinasyon sayısı.
Bir dizi test boyutu seçtikten sonra Test Lab öğesinin çalıştırılmasını sağlayabilirsiniz test etmek için
firebase test ios run
komutunu kullanın. Her bir kombinasyonuna 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...
Testiniz, testin oluşturulduğu ve Test Lab tarafından kullanılan varsayılan Xcode sürümü. Testinizde 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=15
Test matrislerinizi Firebase konsolunu kullanarak, isteğe bağlı olarak Aşağıdaki örnekte
--client-details matrixLabel="<label>"
işareti:gcloud beta firebase test ios run --test PATH/TO/MyTests.zip \ --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \ --client-details matrixLabel="my label"
Özel Yararlanma Hakları'nı Test Etme
Açık bir Uygulama Kimliği gerektiren yararlanma haklarını test etmek için
--test-special-entitlements
işareti ayarlanıyor. Test Lab.
özel desteği desteklemek için uygulamayı yeni bir paket tanımlayıcıyla yeniden imzalar
bu nedenle, ZIP dosyanızda hiç kaynak olmadığından emin olun
uygulamanın paket tanımlayıcısına doğrudan referanslar içeren.
- Push Bildirimleri
apns-environment
- Kişisel VPN
com.apple.developer.networking.vpn.api
.
Push bildirimi isteklerini yetkilendirmek için kullanıcılar JSON web oluşturabilir özel kodu kullanarak imzalama anahtarı C7FD9DJAA8 Anahtar Kimliği ve Ekip Kimliği ile birlikte 9CKCGNNUQN. Oluşturulan jetonlar tek bir ve 60 dakikada bir yenilenmesi gerekiyor. Devamını okuyun APN'ler için Jeton Tabanlı Bağlantı Kurma.
Uygulama gruplarıUygulama grubu kimlikleri evrensel olarak benzersizdir. Bu demek oluyor ki yeniden imzalamak için kullandığız uygulama grubu kimliğini Test Lab geliştirici hesabıyla ilişkilendirilmiş. Testiniz kullanıyorsanız testiniz başarısız olur.
Oyun Döngüsü testi çalıştır
gcloud beta firebase test ios run
komutunu çalıştırıp aşağıdaki komutu kullanın:
işaretleri kullanın:
Oyun Döngüsü testleri işaretleri | |
---|---|
--type
|
Zorunlu: Çalıştırmak istediğiniz iOS testinin türünü belirtir. Giriş
|
--app
|
Zorunlu: Uygulamanızın IPA dosyasının mutlak yolu (GCS veya dosya sistemi). Bu işaret 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 adıyla senaryolar). Bir döngü, bir liste veya döngü ya da bir döngü aralığı girebilirsiniz. Varsayılan döngü 1'dir.
Örneğin |
--device-model
|
Testinizi çalıştırmak istediğiniz fiziksel cihaz (hangi cihazların kullanılabilir olduğunu kullanabilirsiniz). |
--timeout
|
Testinizin çalıştırılmasını istediğiniz maksimum süre. Şunun için bir tam sayı girebilirsiniz: süreyi saniye cinsinden temsil eden bir tam sayı ve sıralamayı zaman birimi olarak kullanabilirsiniz. Örneğin:
|
Örneğin, aşağıdaki komut döngüleri yürüten bir Oyun Döngüsü testi çalıştırır iPhone 8 Plus'ta 1, 4, 6, 7 ve 8:
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 KSA hakkında daha fazla bilgi edinmek için referans belgeleri.
3. Adım (İsteğe bağlı): Gelecekte oluşturacağınız testleri otomatikleştirin
Test Lab ile gcloud komutlarını komut dosyası çalıştırma
Mobil uygulama test komutlarını otomatikleştirmek için kabuk komut dosyalarını veya toplu dosyaları kullanabilirsiniz komut satırını kullanın. Bu örnek bash komut dosyası, iki dakikalık zaman aşımıyla bir XCTest çalıştırır ve testin çalıştırılıp çalıştırılmadığını bildirir başarıyla tamamlandı:
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, daha iyi anlamak için kullanabileceğiniz çeşitli çıkış kodları sağlar komut dosyalarını veya toplu dosyaları kullanarak çalıştırdığınız testlerin sonuçları.
Çıkış kodu | Notlar |
---|---|
0 | Tüm test işlemleri başarılı oldu. |
1 | Genel bir hata oluştu. Olası nedenler şunları içerir: veya HTTP/ağ hatası oluştu. |
2 | Bilinmeyen komutlar veya bağımsız değişkenler sağlandığı için testten çıkıldı. |
10 | Bir test içindeki bir veya daha fazla test durumu (test edilmiş sınıflar veya sınıf yöntemleri) başarısız oldu. |
15 | Firebase Test Lab, test matrisinin başarılı olup olmadığını veya beklenmedik bir hatadan dolayı tamamlanamadı. |
19 | Test matrisi kullanıcı tarafından iptal edildi. |
20 | Test altyapısı hatası oluştu. |
4. adım: Test sonuçlarını inceleyin
Test başladığında Test Sonuçları sayfasına bir bağlantı alırsınız. Testler çalıştırılmak üzere belirlenen farklı test zaman aşımı süresini kontrol etmek için testler. Testleriniz çalıştırıldıktan sonra test sonuçlarını inceleyebilirsiniz. Görüntüleyin Daha fazla bilgi için Firebase Test Lab Sonuçları analiz ediliyor nasıl yorumlayacağınızı anlatacağım.
Sonraki adım
Size uygun test seçeneklerini keşfetmek için Google Cloud SDK'sı belgelerini okuyun genel kullanıma sunuldu veya beta sürümündedir.