בדוק עם gcloud CLI

מדריך זה מתאר כיצד להפעיל בדיקת XCTest או בדיקת Game Loop באמצעות gcloud CLI.

שלב 1 : הגדר את סביבת Google Cloud SDK המקומית שלך

  1. הורד את Google Cloud SDK.
  2. זה כולל את הכלי gcloud CLI.

  3. ודא שההתקנה שלך מעודכנת וכוללת את הפקודה gcloud firebase :
          gcloud components update
  4. היכנס ל-gcloud CLI באמצעות חשבון Google שלך:
          gcloud auth login
  5. הגדר את פרויקט Firebase שלך ​​ב-gcloud, כאשר PROJECT_ID הוא המזהה של פרויקט Firebase שלך:
         gcloud config set project PROJECT_ID

שלב 2 : הפעל את הבדיקה שלך

הפעל XCTest

  1. העלה את קובץ ה-zip של הבדיקה שלך על ידי הפעלת הפקודה הבאה (אם עדיין לא ארזת את האפליקציה שלך, ראה אריזת XCTest שלך ):

    cd FOLDER_WITH_TEST_OUTPUT/Build/Products ; \
    zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
  2. בחר את מידות הבדיקה שלך.

    Test Lab מאפשרת לך להריץ בדיקות במגוון גרסאות iOS, מכשירים, כיווני מסך ומקומות. תצורות אלו ידועות בתור מידות הבדיקה של הבדיקה. כדי לראות את האפשרויות עבור כל מימד (למשל, גרסאות Xcode נתמכות עבור גרסת ה-iOS של המכשיר), החלף models , versions או locales dimension בפקודה הבאה:

    gcloud firebase test ios dimension list

    כיוון המסך הוא מעט יותר פשוט, מכיוון שהאפשרויות היחידות שלו הן portrait landscape

    עיין ברשימת מידות הבדיקה ובחר כמה שילובים שברצונך להפעיל עליהם את הבדיקה. בקר בתוכניות תמחור כדי לראות את המספר המרבי של שילובים שאתה יכול להפעיל ביום.

  3. לאחר שבחרתם קבוצה של ממדי בדיקה, תוכלו לגרום ל-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=11.3

בדוק זכויות מיוחדות

כדי לבדוק זכאויות הדורשות מזהה אפליקציה מפורש, תוכל לעשות זאת על ידי הגדרת --test-special-entitlements . Test Lab חותמת מחדש על האפליקציה עם מזהה חבילה חדש כדי לתמוך בהרשאות מיוחדות, אז אנא ודא שאין משאבים בקובץ ה-zip שלך המכילים הפניות ישירות למזהה החבילה של האפליקציה.

הודעות דחיפה

לצורך אישור בקשות להודעות דחיפה, משתמשים יכולים ליצור אסימוני אינטרנט של JSON על ידי שימוש במפתח החתימה הפרטי יחד עם מזהה המפתח - C7FD9DJAA8 ומזהה הצוות - 9CKCGNNUQN . האסימונים שנוצרו יהיו תקפים למשך שעה אחת ויש לרענן כל 60 דקות. קרא עוד על יצירת חיבור מבוסס אסימון ל-APNs.

הפעל מבחן Game Loop

הפעל את gcloud beta firebase test ios run והשתמש בדגלים הבאים כדי להגדיר את ההפעלה:

דגלים למבחני משחק לולאה
--type

נדרש : מציין את סוג בדיקת iOS שברצונך להפעיל. אתה יכול להזין סוגי בדיקה xctest (ברירת מחדל) או game-loop .

--app

נדרש : נתיב מוחלט (GCS או מערכת קבצים) לקובץ ה-IPA של האפליקציה שלך. דגל זה תקף רק בעת הפעלת מבחני Game Loop.

--scenario-numbers

הלולאות (המכונה גם תרחישים) שברצונך להפעיל באפליקציה שלך. אתה יכול להזין לולאה אחת, רשימה או לולאות, או טווח של לולאות. לולאת ברירת המחדל היא 1.

לדוגמה, --scenario-numbers=1-3,5 מריץ לולאות 1, 2, 3 ו-5.

--device-model

המכשיר הפיזי שבו ברצונך להפעיל את הבדיקה שלך (גלה באילו מכשירים זמינים אתה יכול להשתמש).

--timeout

משך הזמן המקסימלי שאתה רוצה שהבדיקה שלך תפעל. אתה יכול להזין מספר שלם כדי לייצג את משך הזמן בשניות, או מספר שלם וספירה כדי לייצג את משך הזמן כיחידת זמן ארוכה יותר.

לדוגמה:

  • --timeout=200 מאלץ את הבדיקה שלך להסתיים כאשר היא פועלת עד 200 שניות.
  • --timeout=1h מאלץ את הבדיקה שלך להסתיים כאשר הוא רץ עד שעה.

לדוגמה, הפקודה הבאה מריצה בדיקת 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, עיין בתיעוד ההפניה .

שלב 4 (אופציונלי) : הפוך בדיקות עתידיות שאתה בונה לאוטומטי

סקריפט של פקודות 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 אירעה שגיאת תשתית לבדיקה.

שלב 5 : חקור את תוצאות הבדיקה

כאשר הבדיקה מתחילה, תקבל קישור לדף תוצאות הבדיקה . הבדיקות עשויות להימשך מספר דקות, בהתאם למספר התצורות השונות שבחרת ומשך הזמן הקצוב לבדיקה שהוגדר עבור הבדיקות שלך. לאחר הפעלת הבדיקות, תוכל לעיין בתוצאות הבדיקה. ראה ניתוח תוצאות מעבדת הבדיקה של Firebase כדי ללמוד עוד על איך לפרש את תוצאות הבדיקה שלך.

השלב הבא

קרא את התיעוד של Google Cloud SDK כדי לחקור אפשרויות בדיקה הזמינות בדרך כלל או בגרסת בטא .