מדריך זה מתאר כיצד להפעיל בדיקת XCTest או Game Loop באמצעות ה-gcloud CLI.
שלב 1 : הגדר את סביבת Google Cloud SDK המקומית שלך
- הורד את Google Cloud SDK
- ודא שההתקנה שלך מעודכנת וכוללת את הפקודה
gcloud firebase
:gcloud components update
- היכנס ל-gcloud CLI באמצעות חשבון Google שלך:
gcloud auth login
- הגדר את פרויקט Firebase שלך ב-gcloud, כאשר PROJECT_ID הוא המזהה של פרויקט Firebase שלך:
gcloud config set project PROJECT_ID
זה כולל את הכלי gcloud CLI.
שלב 2 : הפעל את הבדיקה שלך
הפעל XCTest
העלה את קובץ ה-zip של הבדיקה שלך על ידי הפעלת הפקודה הבאה (אם עדיין לא ארזת את האפליקציה שלך, ראה אריזת XCTest שלך ):
cd FOLDER_WITH_TEST_OUTPUT/Build/Products ; \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
בחר את מידות הבדיקה שלך.
Test Lab מאפשרת לך להריץ בדיקות במגוון גרסאות iOS, מכשירים, כיווני מסך ומקומות. תצורות אלו ידועות בתור מידות הבדיקה של הבדיקה. כדי לראות את האפשרויות עבור כל מימד (למשל, גרסאות Xcode נתמכות עבור גרסת ה-iOS של המכשיר), החלף
models
,versions
אוlocales
dimension
בפקודה הבאה:gcloud firebase test ios dimension list
כיוון המסך הוא מעט יותר פשוט, מכיוון שהאפשרויות היחידות שלו הן
portrait
landscape
.עיין ברשימת מידות הבדיקה ובחר כמה שילובים שברצונך להפעיל עליהם את הבדיקה. בקר בתוכניות תמחור כדי לראות את המספר המרבי של שילובים שאתה יכול להפעיל ביום.
לאחר שבחרת קבוצה של ממדי בדיקה, תוכל להורות ל-Test Lab להריץ את הבדיקות שלך באמצעות פקודת
firebase test ios run
. עבור כל שילוב של ממדי בדיקה שעליהם תרצה לבדוק, כלול דגל--device
נפרד: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...
ייתכן שהבדיקה שלך תיכשל עקב אי התאמה בין גרסת Xcode שאיתה נבנה הבדיקה לבין גרסת ברירת המחדל של Xcode בשימוש על ידי Test Lab. כדי לציין גרסת Xcode נתמכת עבור הבדיקה שלך, השתמש בדגל
--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=15
כדי לעזור לך לזהות ולאתר את מטריצות הבדיקה שלך במסוף Firebase, תוכל לחלופין לתייג את מטריצת הבדיקה שלך באמצעות דגל
--client-details matrixLabel="<label>"
בדוגמה הבאה: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"
בדוק זכויות מיוחדות
כדי לבדוק זכאויות הדורשות מזהה אפליקציה מפורש, תוכל לעשות זאת על ידי הגדרת הדגל --test-special-entitlements
. Test Lab חותמת מחדש על האפליקציה עם מזהה חבילה חדש כדי לתמוך בהרשאות מיוחדות, לכן ודא שאין משאבים בקובץ ה-zip שלך המכילים הפניות ישירות למזהה החבילה של האפליקציה.
- Push Notifications
apns-environment
- VPN אישי
com.apple.developer.networking.vpn.api
לצורך אישור בקשות להודעות דחיפה, משתמשים יכולים ליצור אסימוני אינטרנט של JSON על ידי שימוש במפתח החתימה הפרטי יחד עם מזהה המפתח - C7FD9DJAA8 ומזהה הצוות - 9CKCGNNUQN . האסימונים שנוצרו יהיו תקפים לשעה אחת ויש לרענן אותם כל 60 דקות. קרא עוד על יצירת חיבור מבוסס אסימון ל-APNs.
קבוצות אפליקציותמזהי קבוצת אפליקציות הם ייחודיים באופן אוניברסלי. משמעות הדבר היא שכאשר אנו חותמים מחדש על אפליקציות משתמש, אנו יכולים להשתמש רק במזהה קבוצת האפליקציות המשויך לחשבון המפתח Test Lab. אם המבחן שלך מסתמך על קבוצות אפליקציות, המבחן שלך ייכשל.
הפעל מבחן Game Loop
הפעל את הפקודה gcloud beta firebase test ios run
והשתמש בדגלים הבאים כדי להגדיר את ההפעלה:
דגלים למבחני משחק לולאה | |
---|---|
--type | נדרש : מציין את סוג בדיקת iOS שברצונך להפעיל. אתה יכול להזין סוגי בדיקה |
--app | נדרש : נתיב מוחלט (GCS או מערכת קבצים) לקובץ ה-IPA של האפליקציה שלך. דגל זה תקף רק בעת הפעלת מבחני Game Loop. |
--scenario-numbers | הלולאות (המכונה גם תרחישים) שברצונך להפעיל באפליקציה שלך. אתה יכול להזין לולאה אחת, רשימה או לולאות, או טווח של לולאות. לולאת ברירת המחדל היא 1. לדוגמה, |
--device-model | המכשיר הפיזי שבו ברצונך להפעיל את הבדיקה שלך (גלה באילו מכשירים זמינים אתה יכול להשתמש). |
--timeout | משך הזמן המקסימלי שאתה רוצה שהבדיקה שלך תפעל. אתה יכול להזין מספר שלם כדי לייצג את משך הזמן בשניות, או מספר שלם וספירה כדי לייצג את משך הזמן כיחידת זמן ארוכה יותר. לדוגמה:
|
לדוגמה, הפקודה הבאה מריצה בדיקת Game Loop שמבצעת לולאות 1, 4, 6, 7 ו-8 באייפון 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 CLI, עיין בתיעוד ההפניה .
שלב 3 (אופציונלי) : הפוך בדיקות עתידיות שאתה בונה לאוטומטי
סקריפט של פקודות gcloud עם Test Lab
אתה יכול להשתמש בסקריפטים של מעטפת או בקבצי אצווה כדי להפוך פקודות בדיקת אפליקציות לנייד לאוטומטיות שאחרת היית מפעיל באמצעות שורת הפקודה gcloud. סקריפט bash לדוגמה זה מריץ XCTest עם פסק זמן של שתי דקות, ומדווח אם ריצת הבדיקה הושלמה בהצלחה:
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
קודי יציאה מהסקריפט
Test Lab מספקת מספר קודי יציאה שבהם תוכל להשתמש כדי להבין טוב יותר את תוצאות הבדיקות שאתה מפעיל באמצעות סקריפטים או קבצי אצווה.
קוד יציאה | הערות |
---|---|
0 | כל ביצוע הבדיקות עברו. |
1 | אירע כשל כללי. סיבות אפשריות כוללות: שם קובץ שאינו קיים או שגיאת HTTP/רשת. |
2 | הבדיקה יצאה מכיוון שסופקו פקודות או ארגומנטים לא ידועים. |
10 | מקרה מבחן אחד או יותר (מחלקות שנבדקו או שיטות מחלקות) בתוך ביצוע בדיקה לא עברו. |
15 | Firebase Test Lab לא הצליח לקבוע אם מטריצת הבדיקה עברה או נכשלה, בגלל שגיאה בלתי צפויה. |
19 | מטריצת הבדיקה בוטלה על ידי המשתמש. |
20 | אירעה שגיאת תשתית בדיקה. |
שלב 4 : חקור את תוצאות הבדיקה
כאשר הבדיקה מתחילה, תקבל קישור לדף תוצאות הבדיקה . הבדיקות עשויות להימשך מספר דקות, בהתאם למספר התצורות השונות שבחרת ומשך הזמן הקצוב לבדיקה שהוגדר עבור הבדיקות שלך. לאחר הפעלת הבדיקות, תוכל לעיין בתוצאות הבדיקה. ראה ניתוח תוצאות מעבדת הבדיקה של Firebase כדי ללמוד עוד על איך לפרש את תוצאות הבדיקה שלך.
השלב הבא
קרא את התיעוד של Google Cloud SDK כדי לחקור אפשרויות בדיקה הזמינות בדרך כלל או בגרסת ביטא .