קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
בדף הזה מפורטות תשובות לשאלות נפוצות בנושא הרצת בדיקות באמצעות Firebase Test Lab, וגם עזרה בפתרון בעיות. יש גם תיעוד של בעיות מוכרות. אם לא מצאתם את מה שחיפשתם או שאתם צריכים עזרה נוספת, אתם יכולים להצטרף לערוץ #test-lab ב-Firebase Slack או לפנות אל התמיכה של Firebase.
פתרון בעיות
למה הבדיקה נמשכת כל כך הרבה זמן?
כשבוחרים מכשיר עם רמת קיבולת גבוהה בקטלוג Test Lab
הבדיקות עשויות להתחיל מהר יותר. אם הקיבולת של המכשיר נמוכה, יכול להיות שהבדיקות יימשכו זמן רב יותר. אם מספר הבדיקות שהופעלו גדול בהרבה מהקיבולת של המכשירים שנבחרו, יכול להיות שיעבור זמן רב יותר עד שהבדיקות יסתיימו.
בדיקות שמופעלות בכל רמת קיבולת של מכשיר עשויות להימשך זמן רב יותר בגלל הגורמים הבאים:
תנועת הגולשים, שמשפיעה על זמינות המכשיר ועל מהירות הבדיקה.
כשלים במכשיר או בתשתית, שיכולים לקרות בכל שלב. כדי לבדוק אם יש תשתית מדווחת ל-Test Lab, אפשר לעיין בלוח הבקרה של הסטטוס של Firebase.
מידע נוסף על קיבולת המכשיר ב-Test Lab זמין במאמרים על קיבולת המכשיר ל-Android ול-iOS.
למה אני מקבל תוצאות בדיקה לא חד-משמעיות?
תוצאות לא חד-משמעיות של בדיקות מתרחשות בדרך כלל בגלל ביטול של הרצת בדיקות או בגלל שגיאות בתשתית.
שגיאות בתשתית נגרמות מבעיות פנימיות ב-Test Lab, כמו שגיאות ברשת או התנהגויות לא צפויות של המכשיר. Test Lab באופן פנימי, המערכת מפסיקה הפעלות של בדיקות שיוצרות שגיאות בתשתית כמה פעמים לפני שהיא מדווחת על תוצאה לא חד-משמעית. עם זאת, אפשר להשבית את הניסיונות החוזרים האלה באמצעות failFast.
כדי לגלות את הגורם לשגיאה, פועלים לפי השלבים הבאים:
כדי לוודא שהבעיה ניתנת לשחזור, צריך לנסות שוב את הבדיקה ב-Test Lab.
אם אפשר, כדאי לנסות להריץ את הבדיקה במכשיר אחר או בסוג מכשיר אחר.
אם הבעיה נמשכת, אפשר לפנות אל Test Labהצוות בערוץ#test-lab ב-Firebase Slack.
למה הריצה של הבדיקות שלי נמשכה יותר זמן אחרי שחילקתי אותן?
החלוקה לשברים עלולה לגרום לבדיקות להימשך זמן רב יותר אם מספר השברים שציינתם גדול ממספר המכשירים שזמינים לשימוש ב-Test Lab. כדי להימנע ממצב כזה, כדאי לנסות לעבור למכשיר אחר. מידע נוסף על בחירת מכשיר אחר זמין במאמר
קיבולת המכשיר.
למה לוקח כל כך הרבה זמן עד שהבדיקה מתחילה?
כששולחים בקשה לבדיקה, האפליקציה עוברת קודם אימות, חתימה מחדש וכו' כהכנה להרצת בדיקות במכשיר. בדרך כלל התהליך הזה מסתיים תוך כמה שניות, אבל הוא יכול להיות מושפע מגורמים כמו גודל האפליקציה.
אחרי שהאפליקציה מוכנה, מתוזמנות הרצות של בדיקות והן נשארות בתור עד שמכשיר מוכן להריץ אותן. עד שכל ההרצות של הבדיקות יסתיימו, הסטטוס של המטריצה יהיה 'בהמתנה' (ללא קשר לשאלה אם ההרצות של הבדיקות נמצאות בתור או שהן פועלות באופן פעיל).
למה לוקח כל כך הרבה זמן עד שהבדיקה מסתיימת?
אחרי שהבדיקה מסתיימת, המערכת מורידה את תוצרי הבדיקה מהמכשיר, מעבדת אותם ומעלה אותם אל Cloud Storage. משך הזמן של השלב הזה יכול להיות מושפע מהכמות והגודל של הארטיפקטים.
שאלות נפוצות
מהן המכסות ללא עלות של Test Lab? מה צריך לעשות אם נגמרים לי המינויים?
Firebase Test Lab מציע מכסות ללא עלות לבדיקה במכשירים ולשימוש ב-Cloud APIs. שימו לב: המכסה לבדיקות מבוססת על תוכנית התמחור הרגילה של Firebase, אבל המכסות של Cloud API לא מבוססות עליה.
מכסת בדיקות
מכסות הבדיקות נקבעות לפי מספר המכשירים שמשמשים להרצת הבדיקות.
בתוכנית Firebase Spark יש מכסת בדיקות קבועה ללא עלות למשתמשים. בתוכנית Blaze, יכול להיות שהמכסות יגדלו אם השימוש שלכם ב-Google Cloud יגדל עם הזמן. אם הגעתם למכסת הבדיקות, תצטרכו לחכות עד למחרת או לשדרג למינוי Blaze אם יש לכם כרגע מינוי Spark.
אם כבר יש לכם מינוי Blaze, אתם יכולים לבקש להגדיל את המכסה.
מידע נוסף זמין במאמר בנושא מכסת בדיקות.
שולחים בקשה להגדלת המכסות על ידי עריכת המכסות ישירות במסוף Google Cloud (שימו לב שרוב המגבלות מוגדרות כברירת מחדל למקסימום), או
כדי לבקש הגדלה של מכסות ה-API, אפשר למלא טופס בקשה במסוף Google Cloud או לפנות אל התמיכה של Firebase.
איך אפשר לדעת אם התנועה שמגיעה לקצה העורפי שלי מגיעה מ-Test Lab?
מהקצה העורפי שלכם, אתם יכולים לבדוק את כתובת ה-IP של המקור מול טווח כתובות ה-IP שלנו כדי לקבוע אם התנועה מגיעה ממכשירי בדיקה שמארחים ב-Firebase.
האם Test Lab פועל עם VPC-SC?
Test Lab לא פועל עם VPC-SC, שחוסם את ההעתקה של אפליקציות ופריטי בדיקה אחרים בין האחסון הפנימי של Test Lab לבין דלי התוצאות של המשתמשים.
איך מזהים בדיקות לא יציבות ב-Test Lab?
כדי לזהות התנהגות לא יציבה בבדיקות, מומלץ להשתמש באפשרות
--num-flaky-test-attempts
. החיוב על הפעלות חוזרות של בדיקות שנכשלו או שהן נספרות במסגרת המכסה היומית, בדיוק כמו הפעלות רגילות של בדיקות.
זכור את הנקודות הבאות:
כל ההרצה של הבדיקה מופעלת מחדש כשמזוהה כשל. אין תמיכה בניסיון חוזר רק של תרחישי בדיקה שנכשלו.
הפעלות חוזרות של בדיקות לא יציבות מתוזמנות להפעלה באותו הזמן, אבל לא מובטח שהן יפעלו במקביל, למשל, כשהתנועה חורגת ממספר המכשירים הזמינים.
האם Test Lab תומך ב-Appium, Flutter/FlutterDriver, ReactNative/Jest או Cucumber?
חלק מהפריטים האלה נמצאים בתוכנית הפיתוח שלנו, אבל כרגע אין לנו אפשרות להתחייב לתמיכה בפלטפורמות האלה לבדיקות ולפיתוח אפליקציות.
איפה אפשר למצוא פרטים על המכשיר, כמו רזולוציה וכו'?
מידע מפורט על המכשיר זמין דרך ה-API, ואפשר לגשת אליו מלקוח gcloud באמצעות הפקודה describe:
gcloud firebase test ios models describe MODEL
האם אפשר להשתמש ב-sharding בבדיקות של iOS?
אין תמיכה מובנית ב-Sharding ב-Test Lab ל-iOS. עם זאת, אפשר להשתמש בלקוח Flank כדי לפצל את תרחישי הבדיקה של iOS.
ההגדרה הזו מתבצעת על ידי הגדרת OnlyTestIdentifiers מפתח וערכים בקובץ .xctestrun.
פרטים נוספים מופיעים בדף man בנושא xcodebuild.xctestrun.
למה חסרים סרטונים בתוצאות של בדיקה ב-iOS?
ב-iOS 18 ואילך, אנחנו לא יכולים לתמוך בסרטונים בתוצאות.
בעיות מוכרות
Captchas לכניסה
בדיקת Robo לא יכולה לעקוף מסכי כניסה שדורשים פעולת משתמש נוספת מעבר להזנת פרטי הכניסה, למשל השלמת CAPTCHA.
תמיכה ב-framework של ממשק משתמש
הבדיקה באמצעות רובוט פועלת בצורה הטובה ביותר באפליקציות שמשתמשות ברכיבי ממשק משתמש מתוך מסגרת ממשק המשתמש של Android (כולל אובייקטים מסוג View, ViewGroup ו-WebView). אם אתם משתמשים ב-Robo test כדי לבדוק אפליקציות שמשתמשות במסגרות אחרות של ממשק משתמש, כולל אפליקציות שמשתמשות במנוע המשחקים Unity, יכול להיות שהבדיקה תסתיים בלי לבדוק מעבר למסך הראשון.
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-22 (שעון UTC)."],[],[]]