Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

בדוק עם ה- CLI של gcloud

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

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

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

  3. וודא gcloud firebase עדכנית וכוללת את הפקודה 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. בחר את ממדי הבדיקה שלך.

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

    gcloud firebase test ios dimension list

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

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

  3. לאחר שבחרת בקבוצת מידות בדיקה, תוכל להעביר את מבחן המעבדה לבדיקות שלך באמצעות הפקודה firebase test ios run . לכל שילוב של ממדי בדיקה שברצונך לבדוק עליהם, --device דגל - --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. כדי לציין גרסת 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 . מעבדת הבדיקה מחתימה מחדש את היישום באמצעות מזהה חבילה חדש כדי לתמוך בזכויות מיוחדות, לכן אנא וודאו שאין מקורות בקובץ ה- zip המכילים הפניות ישירות למזהה החבילה של האפליקציה.

הודעות דחיפה

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

הפעל מבחן Game Loop

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

דגלים למבחני Game Loop
--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 עם מעבדת הבדיקה

באפשרותך להשתמש בסקריפטים של מעטפת או בקבצי אצווה כדי להפוך פקודות בדיקת אפליקציות לנייד באופן אוטומטי שהיית מפעיל אחרת באמצעות שורת הפקודה 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

קודי יציאה מתסריט

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

קוד יציאה הערות
0 כל ההוצאות להורג עברו.
1 אירעה כשל כללי. הסיבות האפשריות כוללות: שם קובץ שאינו קיים או שגיאת HTTP / רשת.
2 הבדיקה יצאה מכיוון שסופקו פקודות או טיעונים לא ידועים.
10 אחד או יותר מקרי מבחן (שיעורים נבדקים או שיטות כיתה) במסגרת ביצוע המבחן לא עברו.
15 מעבדת בדיקת Firebase לא הצליחה לקבוע אם מטריצת הבדיקה עברה או נכשלה בגלל שגיאה בלתי צפויה.
19 מטריצת הבדיקה בוטלה על ידי המשתמש.
20 אירעה שגיאת תשתית בדיקה.

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

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

השלב הבא

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