פתרון בעיות ב-Test Lab & שאלות נפוצות

בדף הזה מפורטות תשובות לשאלות נפוצות בנושא הפעלת בדיקות באמצעות Firebase Test Lab, וכן עזרה בפתרון בעיות. בנוסף, מתועדות בעיות ידועות. אם לא מצאתם את מה שחיפשתם או שדרושה לכם עזרה נוספת, תוכלו להצטרף לערוץ #test-lab ב-Slack של Firebase או לפנות אל התמיכה של Firebase.

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

בדיקות שפועלות בכל רמת קיבולת של מכשיר עשויות להימשך זמן רב יותר בגלל הגורמים הבאים:

  • תנועה, שמשפיעה על זמינות המכשיר ועל מהירות הבדיקה.
  • כשלים במכשיר או בתשתית, שיכולים לקרות בכל שלב. כדי לבדוק אם יש דיווח על תשתית עבור Test Lab, אפשר להיכנס ללוח הבקרה של סטטוס Firebase.

מידע נוסף על קיבולת המכשיר ב-Test Lab זמין במאמרים על קיבולת המכשיר ב-Android וב-iOS.

תוצאות בדיקה לא חד-משמעיות נובעות בדרך כלל מביטולי הפעלות בדיקה או משגיאות בתשתית.

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

כדי לבדוק מה גורם לשגיאה, מבצעים את השלבים הבאים:

  1. בודקים אם יש הפסקות זמניות בשירות ידועות בלוח הבקרה של סטטוס Firebase.
  2. מנסים שוב את הבדיקה ב-Test Lab כדי לוודא שאפשר לשחזר אותה.

  3. אם רלוונטי, נסו להריץ את הבדיקה במכשיר אחר או בסוג מכשיר אחר.

אם הבעיה נמשכת, פנו לצוות Test Lab בערוץ#test-lab ב-Slack של Firebase.

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

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

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

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

שאלות נפוצות

Firebase Test Lab מציע מכסות ללא עלות לבדיקה במכשירים ולשימוש בממשקי Cloud API. חשוב לזכור שמכסת הבדיקה מבוססת על תוכנית התמחור הרגילה של Firebase, ואילו המכסות של Cloud API לא מבוססות עליה.

  • בדיקת המכסה

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

    אפשר לעקוב אחרי ניצול המכסה לבדיקה במסוף Google Cloud.

  • מכסה ל-Cloud Testing API

    ל-Cloud Testing API יש שתי מכסות: בקשות ליום לכל פרויקט ובקשות לכל 100 שניות לכל פרויקט. אפשר לעקוב אחרי השימוש במסוף Google Cloud.

  • מכסה של Cloud Tool Results API

    ל-Cloud Tool Results API יש שתי מכסות: שאילתות ליום לכל פרויקט ושאילתות לכל 100 שניות לכל פרויקט. אפשר לעקוב אחרי השימוש במסוף Google Cloud.

    למידע נוסף על מגבלות ה-API, אפשר לעיין במאמר מכסות Cloud API ל-Test Lab. אם הגעתם למכסה של API:

    • לשלוח בקשה להגדלת המכסות על ידי עריכת המכסות ישירות במסוף Google Cloud (לתשומת ליבכם: רוב המגבלות מוגדרות למקסימום כברירת מחדל).

    • כדי לבקש הגדלה של מכסות ה-API, אפשר למלא טופס בקשה במסוף Google Cloud או לפנות לתמיכה של Firebase.

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

Test Lab לא פועל עם VPC-SC, שמחסום את ההעתקה של אפליקציות וארטיפקטים אחרים של בדיקות בין האחסון הפנימי של Test Lab לקטגוריות התוצאות של המשתמשים.

כדי לזהות התנהגות לא יציבה בבדיקות, מומלץ להשתמש באפשרות --num-flaky-test-attempts . הרצות חוזרות של Deflake מחוייבות או נספרות במסגרת המכסה היומית בדיוק כמו הרצות רגילות של בדיקות.

זכור את הנקודות הבאות:

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

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

פרטים מפורטים על המכשיר זמינים דרך ה-API, וניתן לגשת אליהם מלקוח gcloud באמצעות הפקודה describe:

gcloud firebase test ios models describe MODEL

אין תמיכה מובנית בחלוקה למקטעים ב-Test Lab ל-iOS. עם זאת, אפשר להשתמש בלקוח Flank כדי לפצל תרחישי בדיקה ל-iOS.

כדי לעשות זאת, מגדירים את המפתח OnlyTestIdentifiers ואת הערכים בקובץ .xctestrun. פרטים נוספים זמינים בדף man של xcodebuild.xctestrun.

במכשירי iOS מגרסה 18 ואילך, אין לנו אפשרות לכלול סרטונים בתוצאות.

בעיות מוכרות

בדיקת הרובוט לא יכולה לעקוף מסכי כניסה שדורשים פעולה נוספת של המשתמש מעבר להזנת פרטי הכניסה, למשל השלמת CAPTCHA.

אין תמיכה בכניסה אוטומטית באמצעות חשבון Google בבדיקות Robo ל-iOS+‏ (בטא).