Google Cloud KSA ile test etme

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

  1. Google Cloud SDK'yı indirin
  2. gcloud KSA aracı da buna dahildir.

  3. Yüklemenizin güncel olduğundan ve gcloud firebase komutu:
          gcloud components update
  4. Google Hesabınızı kullanarak gcloud KSA'ya giriş yapın:
          gcloud auth login
    .
  5. Firebase projenizi, PROJECT_ID öğesinin bulunduğu gcloud'da ayarlayın Firebase projenizin kimliği:
         gcloud config set project PROJECT_ID

2. Adım: Testinizi çalıştırın

XCTest çalıştırma

  1. 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
  2. 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 veya locales: dimension komutunu girin:

    gcloud firebase test ios dimension list

    Ekran yönü biraz daha basit, çünkü yalnızca portrait ve landscape.

    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ı.

  3. Bir test boyutu grubu seçtikten sonra Test Lab'in çalıştırılmasını sağlayabilirsiniz firebase test ios run komutunu kullanarak testlerinizi düzenleyebilirsiniz. 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 Laboratuvarı ö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.

Desteklenen yararlanma hakları:
  1. Push Bildirimleri apns-environment
  2. Kişisel VPN com.apple.developer.networking.vpn.api.
ziyaret edin. ziyaret edin. Push Bildirimleri

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 gerekir. 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 ile ilişkilendirilir. 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ş xctest (varsayılan) veya game-loop test türlerini deneyin.

--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 --scenario-numbers=1-3,5; 1, 2, 3 ve 5. döngüleri çalıştırır.

--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:

  • --timeout=200, testinizi 200 koda kadar çıktığında sonlanmaya zorlar saniye.
  • --timeout=1h, testinizi bir saat kadar çalıştırdığında sonlandırılmaya zorlar.

Ö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 Şu konu hakkında daha fazla bilgi edinmek için Firebase Test Lab Sonuçlarını Analiz Etme: 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.