Panduan ini menjelaskan cara menjalankan pengujian XCTest atau Game Loop menggunakan gcloud CLI.
Langkah 1 : Konfigurasikan lingkungan Google Cloud SDK lokal Anda
- Unduh Google Cloud SDK.
- Pastikan penginstalan Anda terbaru dan menyertakan perintah
gcloud firebase
: l10ngcloud components update
- Masuk ke gcloud CLI menggunakan akun Google Anda:
gcloud auth login
- Tetapkan project Firebase Anda di gcloud, dengan PROJECT_ID sebagai ID project Firebase Anda:
gcloud config set project PROJECT_ID
Ini termasuk alat CLI gcloud.
Langkah 2 : Jalankan pengujian Anda
Jalankan XCTest
Unggah file .zip pengujian Anda dengan menjalankan perintah berikut (jika Anda belum memaketkan aplikasi Anda, lihat Mengemas XCTest Anda ):
cd FOLDER_WITH_TEST_OUTPUT/Build/Products ; \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
Pilih dimensi pengujian Anda.
Test Lab memungkinkan Anda menjalankan pengujian pada berbagai versi iOS, perangkat, orientasi layar, dan lokal. Konfigurasi ini dikenal sebagai dimensi pengujian pengujian . Untuk melihat opsi untuk setiap dimensi (misalnya, versi Xcode yang didukung untuk versi iOS perangkat), gantikan
models
,versions
, ataulocales
untukdimension
dalam perintah berikut:gcloud firebase test ios dimension list
Orientasi layar agak lebih sederhana, karena satu-satunya pilihan adalah
portrait
danlandscape
.Lihat daftar dimensi pengujian, dan pilih beberapa kombinasi yang ingin Anda gunakan untuk menjalankan pengujian. Kunjungi Paket Harga untuk melihat jumlah maksimum kombinasi yang dapat Anda jalankan per hari.
Setelah memilih serangkaian dimensi pengujian, Anda dapat meminta Test Lab menjalankan pengujian menggunakan perintah
firebase test ios run
. Untuk setiap kombinasi dimensi pengujian yang ingin Anda uji, sertakan flag--device
terpisah: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...
Ada kemungkinan bahwa pengujian Anda akan gagal karena ketidakcocokan antara versi Xcode yang digunakan untuk membuat pengujian dan versi Xcode default yang digunakan oleh Test Lab. Untuk menentukan versi Xcode yang didukung untuk pengujian Anda, gunakan
--xcode-version
: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
Uji Hak Khusus
Untuk menguji hak yang memerlukan ID Aplikasi eksplisit, Anda dapat melakukannya dengan menyetel --test-special-entitlements
. Test Lab menandatangani ulang aplikasi dengan pengenal bundel baru untuk mendukung hak khusus, jadi pastikan tidak ada sumber daya di file zip Anda yang berisi referensi langsung ke id bundel aplikasi. Pemberitahuan Dorong
Untuk mengesahkan permintaan pemberitahuan push, pengguna dapat membuat token web JSON dengan menggunakan kunci penandatanganan pribadi bersama dengan ID Kunci - C7FD9DJAA8 dan ID Tim - 9CKCGNNUQN . Token yang dihasilkan akan berlaku selama satu jam dan perlu disegarkan setiap 60 menit. Baca lebih lanjut tentang Membuat Koneksi Berbasis Token ke APN.
Grup aplikasiID grup aplikasi bersifat unik secara universal. Artinya, saat kami menandatangani ulang aplikasi pengguna, kami hanya dapat menggunakan ID grup aplikasi yang terkait dengan akun developer Test Lab. Jika pengujian Anda bergantung pada grup aplikasi, pengujian Anda akan gagal.
Jalankan pengujian Game Loop
Jalankan perintah gcloud beta firebase test ios run
dan gunakan flag berikut untuk mengonfigurasi proses:
Tanda untuk pengujian Game Loop | |
---|---|
--type | Wajib : Menentukan jenis pengujian iOS yang ingin Anda jalankan. Anda dapat memasukkan tipe pengujian |
--app | Wajib : Jalur absolut (GCS atau sistem file) ke file IPA aplikasi Anda. Bendera ini hanya berlaku saat menjalankan pengujian Game Loop. |
--scenario-numbers | Loop (alias skenario) yang ingin Anda jalankan di aplikasi Anda. Anda dapat memasukkan satu loop, daftar atau loop, atau rentang loop. Lingkaran default adalah 1. Misalnya, |
--device-model | Perangkat fisik tempat Anda ingin menjalankan pengujian (cari tahu perangkat mana yang tersedia yang dapat Anda gunakan). |
--timeout | Durasi maksimum yang Anda inginkan untuk menjalankan pengujian. Anda dapat memasukkan bilangan bulat untuk menyatakan durasi dalam detik, atau bilangan bulat dan pencacahan untuk menyatakan durasi sebagai satuan waktu yang lebih lama. Sebagai contoh:
|
Misalnya, perintah berikut menjalankan pengujian Game Loop yang menjalankan loop 1, 4, 6, 7, dan 8 pada iPhone 8 Plus:
gcloud beta firebase test ios run --type game-loop --app path/to/my/App.ipa --scenario-numbers 1,4,6-8 --device-model=iphone8plus
Untuk informasi selengkapnya tentang gcloud CLI, lihat dokumentasi referensi .
Langkah 4 (Opsional) : Otomatiskan pengujian mendatang yang Anda buat
Membuat skrip perintah gcloud dengan Test Lab
Anda dapat menggunakan skrip shell atau file batch untuk mengotomatiskan perintah pengujian aplikasi seluler yang seharusnya Anda jalankan menggunakan command line gcloud. Contoh skrip bash ini menjalankan XCTest dengan batas waktu dua menit, dan melaporkan jika pengujian berhasil diselesaikan:
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
Kode keluar skrip
Test Lab menyediakan beberapa kode keluar yang dapat Anda gunakan untuk lebih memahami hasil pengujian yang Anda jalankan menggunakan skrip atau file batch.
Keluar dari kode | Catatan |
---|---|
0 | Semua eksekusi uji lulus. |
1 | Terjadi kegagalan umum. Kemungkinan penyebabnya antara lain: nama file yang tidak ada atau kesalahan HTTP/jaringan. |
2 | Pengujian keluar karena perintah atau argumen yang tidak diketahui diberikan. |
10 | Satu atau lebih kasus uji (kelas yang diuji atau metode kelas) dalam eksekusi uji tidak lulus. |
15 | Firebase Test Lab tidak dapat menentukan apakah matriks pengujian lulus atau gagal, karena terjadi error yang tidak terduga. |
19 | Matriks uji dibatalkan oleh pengguna. |
20 | Terjadi kesalahan infrastruktur pengujian. |
Langkah 5 : Selidiki hasil tes
Saat tes dimulai, Anda menerima tautan ke halaman Hasil Tes . Pengujian dapat memakan waktu beberapa menit untuk dijalankan, bergantung pada jumlah konfigurasi berbeda yang telah Anda pilih dan durasi waktu tunggu pengujian yang ditetapkan untuk pengujian Anda. Setelah pengujian Anda berjalan, Anda dapat meninjau hasil pengujian. Lihat Menganalisis Hasil Test Lab Firebase untuk mempelajari lebih lanjut cara menginterpretasikan hasil pengujian Anda.
Langkah berikutnya
Baca dokumentasi Google Cloud SDK untuk mempelajari opsi pengujian yang tersedia secara umum atau dalam versi beta .