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

התחל לבדוק עם gcloud CLI

מדריך זה מתאר כיצד להפעיל מכשור, רובו או מבחן משחק לולאה באמצעות gcloud CLI .

לקבלת רשימה מלאה של פקודות gcloud תוכל להשתמש עם אפליקציית Android שלך במעבדת הבדיקה, בקר בתיעוד הפניה ל- gcloud firebase test android .

לפני שאתה מתחיל

אם עדיין לא עשית זאת, הוסף את Firebase לפרויקט Android שלך .

שלב 1. הגדר את gcloud CLI

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

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

שלב 2. בדוק התקני בדיקה זמינים

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

כאופציה, תוכל גם להוריד את אפליקציית Notepad לדוגמה כדי להתחיל להריץ את הפקודות מיד. השתמש בקובץ הבינארי app-debug-unaligned.apk ובמבחני המכשור קובץ app-debug-test-unaligned.apk , הנמצאים ב- NotePad/app/build/outputs/apk/ .

  • models list : קבל רשימה עדכנית של מכשירי Android הזמינים עבורך לבדיקה נגדם.

    gcloud firebase test android models list
    

    בפלט הפקודה:

    • העמודה MODEL_ID מכילה את המזהה שבו תוכלו להשתמש אחר כך להפעלת בדיקות על דגם המכשיר.
    • העמודה OS_VERSION_ID מכילה את גרסאות מערכת ההפעלה הנתמכות על ידי המכשיר.

    פלט לדוגמא

    gcloud firebase test android models list output

  • models describe : קבל מידע נוסף על Android MODEL_ID ספציפי.

    gcloud firebase test android models describe MODEL_ID
    

    הפלט מכיל את מותג דגם המכשיר, היצרן, גרסאות מערכת ההפעלה, רמות ה- API הנתמכות, תאריכי יציאה והאם המכשיר פיזי או וירטואלי.

  • versions list : קבל רשימה של גרסאות מערכת ההפעלה הזמינות כעת לבדיקה.

    gcloud firebase test android versions list
    

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

    פלט לדוגמא

    gcloud android versions list

  • locales list : קבל את רשימת המקומות הנוכחית הזמינה לבדיקה.

    gcloud firebase test android versions list
    

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

מבחני ריצה

כעת, כאשר אתה מכיר את מגוון דגמי המכשירים, המקומות וגרסאות מערכת ההפעלה הזמינות לבדיקת האפליקציה שלך, תוכל לציין מכשירים באמצעות פקודת gcloud firebase test android run --device ודגל --device להפעלת בדיקות רובו או מכשור.

הפעלת מבחן הרובו

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

נתחיל בהפעלת פקודה לדוגמא:

gcloud firebase test android run \
  --type robo \
  --app app-debug-unaligned.apk \
  --device model=Nexus6,version=21,locale=en,orientation=portrait  \
  --device model=Nexus7,version=19,locale=fr,orientation=landscape \
  --timeout 90s

הפרמטר --type robo משתמע אם לא --type ערך --type . אתה יכול לראות את הסט השלם של אפשרויות שורת הפקודה להפעלת בדיקות על ידי הקלדה: gcloud help firebase test android run . כחלופה לציון כל הארגומנטים הללו בשורת הפקודה, באפשרותך לציין את הארגומנטים שלך בקובץ ארגומנטים בפורמט YAML. הפעל gcloud topic arg-files כדי ללמוד כיצד להשתמש בתכונה זו.

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

הפעלת מבחני המכשור שלך

כעת השתמש בכלי שורת הפקודה gcloud להפעלת בדיקות האספרסו של אפליקציית Notepad בתצורות מכשיר Android המצוינות שלך, תוך שימוש בסוג בדיקת instrumentation להפעלת הבדיקות ב- app-debug-test-unaligned.apk כדלקמן:

gcloud firebase test android run \
  --type instrumentation \
  --app app-debug-unaligned.apk \
  --test app-debug-test-unaligned.apk \
  --device model=Nexus6,version=21,locale=en,orientation=portrait  \
  --device model=Nexus7,version=19,locale=fr,orientation=landscape

פרמטר --type instrumentation הוא משתמע אם הוגדר APK בדיקה עם --test . כחלופה לציון כל הארגומנטים הללו בשורת הפקודה, באפשרותך לציין את הארגומנטים שלך בקובץ ארגומנטים בפורמט YAML. הפעל gcloud topic arg-files כדי ללמוד כיצד להשתמש בתכונה זו.

ה- gcloud CLI תומך בתזמורת Android Test . Orchestrator דורש AndroidJUnitRunner v1.0 ומעלה. כדי לאפשר זאת, השתמש ב- gcloud firebase test android run עם ה-
--use-orchestrator דגל --use-orchestrator . כדי להשבית אותו השתמש בדגל --no-use-orchestrator .

הערה: תוכל גם לשלוט כיצד Test Lab מריצה את בדיקות המכשור שלך באמצעות דגלים נוספים שאינם מוצגים לעיל. לדוגמה, אתה יכול להשתמש --test-targets לבדיקת מחלקה אחת או שיטת מחלקה המשמשת את ה- APK לבדיקה שלך. אתה יכול גם לברר אם הבדיקה שלך שנכשלה הייתה אכן רעועה או לא באמצעות דגל '--num-flaky-test-ניסיון', המציין את מספר הפעמים שיש לבצע ניסיון חוזר לביצוע בדיקה אם אחת או יותר מהן מקרי המבחן נכשלים מכל סיבה שהיא. למידע נוסף, ראה gcloud firebase test Android .

דוחות כיסוי קוד לבדיקות מכשור

מעבדת הבדיקה תומכת בכלי דיווח כיסוי קוד EMMA ו- JaCoCo . אם יש לך כלי משולב בבניית האפליקציה שלך, תוכל לקבל דוח כיסוי קוד לבדיקות מעבדת הבדיקה על ידי הפעלת פקודת gcloud firebase test android run עם הארגומנטים הבאים:

gcloud firebase test android run \
  --type instrumentation \
  --app your-app.apk \
  --test your-app-test.apk \
  --device model=TestDevice,version=AndroidVersion  \
  --environment-variables coverage=true,coverageFile="/sdcard/coverage.ec" \
  --directories-to-pull /sdcard

כאשר Test Lab מסיימת להריץ את הבדיקות שלך, מצא את דוחות כיסוי הקודים שלך ב- Google Cloud Storage:

  1. פתח את קישור קונסולת Firebase שכלי gcloud מודפס מעל לטבלת תוצאות הבדיקה במסוף שלך.
  2. לחץ על ביצוע בדיקה מהרשימה בקישור זה כדי לפתוח את דף הפרטים של הביצוע.
  3. לחץ על תוצאות הבדיקה כדי לעבור לדלי האחסון בענן עם תוצאות הבדיקה של אותה ביצוע.
  4. פתח artifacts/coverage.ec כדי לראות את דוח כיסוי הקוד שלך.

ניתוח תוצאות הבדיקה שלך

לאחר מספר דקות מודפס סיכום בסיסי של תוצאות הבדיקה על ידי הכלי gcloud:

Command test results

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

כניסה והזנת טקסט מותאמת אישית עם מבחן רובו

מבחן רובו משלים באופן אוטומטי מסכי כניסה המשתמשים בחשבון Google לצורך אימות, אלא אם כן אתה משתמש בפרמטר --no-auto-google-login . זה יכול גם להשלים מסכי כניסה מותאמים אישית באמצעות אישורי חשבון בדיקה שאתה מספק. תוכל גם להשתמש בפרמטר זה כדי לספק טקסט קלט מותאם אישית לשדות טקסט אחרים המשמשים את האפליקציה שלך.

להשלמת שדות טקסט באפליקציה שלך, השתמש --robo-directives רשימה מופרדת בפסיקים של צמדי key-value , כאשר key הוא שם המשאב של Android של רכיב ממשק המשתמש היעד, value הוא מחרוזת הטקסט. . אתה יכול גם להשתמש בדגל זה כדי להורות לרובו להתעלם מרכיבי ממשק משתמש ספציפיים (למשל, כפתור "יציאה"). שדות EditText נתמכים אך לא שדות טקסט ברכיבי ממשק המשתמש של WebView .

לדוגמה, תוכל להשתמש בפרמטר הבא לצורך כניסה מותאמת אישית:

--robo-directives username_resource=username,password_resource=password

פקודות ודגלים זמינים

ל- gcloud CLI של מעבדת הבדיקה מספר פקודות ודגלים זמינים המאפשרים לך לבצע בדיקות במפרט שונה:

  • דגל Android Test Orchestrator : דגל המאפשר Orchestrator, כלי המאפשר לך להריץ כל אחת מהבדיקות של האפליקציה שלך בהפעלה משלה של Instrumentation . מעבדת הבדיקה מריצה תמיד את הגרסה האחרונה של Orchestrator.

  • דגלי בדיקת Game Loop : קבוצה של דגלי תצורה המאפשרים ושולטים ב"מצב הדגמה "כדי לדמות פעולות נגן באפליקציות משחק. למידע נוסף על הפעלת מבחני Game Loop עם מעבדת הבדיקה .

  • דגל רסיסה אחיד (בגרסת בטא) : דגל המציין את מספר הרסיסים שאליהם ברצונך להפיץ מקרי בדיקה באופן שווה. הרסיסים מנוהלים במקביל במכשירים נפרדים.

  • דגל רישום ידני (בגרסת בטא) : דגל שמציין קבוצת חבילות, מחלקות ו / או מקרי בדיקה להפעלה ברסיס (קבוצת מקרי בדיקה). הרסיסים מנוהלים במקביל במכשירים נפרדים.

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

סקריפטים של פקודות gcloud עם מעבדת הבדיקה

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

if gcloud firebase test android run --app my-app.apk --test my-test.apk --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 לא הצליחה לקבוע אם מטריצת הבדיקה עברה או נכשלה בגלל שגיאה בלתי צפויה.
18 סביבת הבדיקה לביצוע בדיקה זו אינה נתמכת בגלל ממדי בדיקה שאינם תואמים. שגיאה זו עלולה להתרחש אם סוג המכשיר שנבחר אינו נתמך ברמת ה- API הנבחרת של Android.
19 מטריצת הבדיקה בוטלה על ידי המשתמש.
20 אירעה שגיאת תשתית בדיקה.