Firebase Test Lab is deprecated and will be fully shut down on September 30, 2027. To
maintain your testing workflows, you can migrate to the Developer Device Platform on Google
Cloud. See the
Developer Device Platform Migration Guide
and FAQ for more
details.
Google משתמשת בטכנולוגיית AI כדי לתרגם תוכן לשפה המועדפת עליך. בתרגומים כאלו עשויות להיות שגיאות.
פתרון בעיות ב-Test Lab & שאלות נפוצות
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
בדף הזה מופיעים פתרונות לבעיות ותשובות לשאלות נפוצות לגבי הרצת בדיקות באמצעות Firebase Test Lab. בנוסף, מתועדות בעיות ידועות. אם לא מצאתם את מה שחיפשתם או שאתם צריכים עזרה נוספת, הצטרפו לערוץ #test-lab ב-Firebase Slack או פנו לתמיכה של Firebase.
פתרון בעיות
למה הבדיקה נמשכת כל כך הרבה זמן?
כשבוחרים מכשיר עם רמת קיבולת גבוהה בקטלוג של Test Lab, יכול להיות שהבדיקות יתחילו מהר יותר. אם למכשיר יש קיבולת נמוכה, יכול להיות שהבדיקות יימשכו יותר זמן. אם מספר הבדיקות שמופעלות גדול בהרבה מהקיבולת של המכשירים שנבחרו, יכול להיות שהבדיקות יימשכו זמן רב יותר.
בדיקות שפועלות בכל רמה של קיבולת מכשירים עשויות להימשך זמן רב יותר בגלל הגורמים הבאים:
תנועה, שמשפיעה על זמינות המכשירים ועל מהירות הבדיקה.
מידע נוסף על קיבולת המכשירים ב-Test Lab זמין במאמרים בנושא קיבולת המכשירים ב-Android וב-iOS.
למה אני מקבל/ת תוצאות לא חד-משמעיות?
תוצאות לא חד-משמעיות מתקבלות בדרך כלל בגלל ביטול של הרצות בדיקה או בגלל שגיאות בתשתית.
שגיאות בתשתית נגרמות בגלל בעיות פנימיות ב-Test Lab, כמו שגיאות בחיבור לרשת או התנהגויות לא צפויות של המכשיר. Test Lab מפעיל מחדש באופן פנימי הרצות בדיקה שיוצרות שגיאות תשתית כמה פעמים לפני שהוא מדווח על תוצאה לא חד-משמעית. עם זאת, אתם יכולים להשבית את ההפעלות מחדש האלה באמצעות failFast.
כדי לזהות את הסיבה לשגיאה, פועלים לפי השלבים הבאים:
מנסים שוב את הבדיקה ב-Test Lab כדי לוודא שאפשר לשחזר אותה.
נסו להריץ את הבדיקה במכשיר אחר או בסוג מכשיר אחר, אם רלוונטי.
אם הבעיה נמשכת, פנו לצוות של Test Lab בערוץ #test-lab ב-Firebase Slack.
למה חלוקה למקטעים גרמה לבדיקות להימשך יותר זמן?
אם מספר המקטעים שציינתם גדול ממספר המכשירים שזמינים לשימוש ב-Test Lab, יכול להיות שהבדיקות יימשכו יותר זמן. כדי להימנע מהמצב הזה, נסו לעבור למכשיר אחר. למידע נוסף על בחירת מכשיר אחר, ראו
קיבולת המכשיר.
למה לוקח לבדיקה הרבה זמן להתחיל?
כששולחים בקשת בדיקה, האפליקציה עוברת קודם אימות, חתימה מחדש וכו' כהכנה להרצת בדיקות במכשיר. בדרך כלל התהליך הזה מסתיים תוך כמה שניות, אבל הוא יכול להיות מושפע מגורמים כמו גודל האפליקציה.
אחרי שהאפליקציה מוכנה, ביצועי הבדיקות מתוזמנים ונשארים בתור עד שהמכשיר מוכן להפעיל אותם. עד שכל ביצועי הבדיקות יסתיימו, הסטטוס של המטריצה יהיה "בהמתנה" (לא משנה אם ביצועי הבדיקות נמצאים בתור או פועלים באופן פעיל).
למה הבדיקה נמשכת כל כך הרבה זמן?
אחרי שביצוע הבדיקה מסתיים, פריטי המידע שנוצרו בבדיקה יורדים מהמכשיר, מעובדים ומועלים אל Cloud Storage. משך הזמן של השלב הזה יכול להיות מושפע מהכמות והגודל של פריטי המידע שנוצרו בתהליך הפיתוח (Artifacts).
פתרון בעיות ספציפיות ל-Android
האפליקציה לא מחזירה נתונים ואי אפשר לאתר צילומי מסך
פריטי המידע שנוצרים במהלך ביצוע הבדיקה (כמו צילומי מסך וקובצי יומן) נשמרים ב-Google Cloud Storage ומוצגים ישירות במסוף Firebase. אם ביצוע הבדיקה התרחש ב-90 הימים האחרונים, ודאו שהקציתם תפקידים ברמת הפרויקט (Project Owner, עריכת הפרויקט או צפייה בפרויקט).
חשוב גם לוודא שיומני הביקורת של Cloud לא מופעלים בפרויקט או בארגון.
אם ההרצה בוצעה לפני יותר מ-90 יום, סביר להניח שפריטי המידע שנוצרו במהלך הבדיקה נמחקו באופן אוטומטי. כדי לבדוק את ההגדרות של קטגוריית התוצאות, לוחצים על הכרטיסייה Test results בלוח הבקרה של Test Lab. קטגוריית התוצאות שמוגדרת כברירת מחדל מוגדרת לשמור אובייקטים למשך 90 יום.
כדי לשמור את פריטי המידע שנוצרו במהלך הבדיקה לזמן ארוך יותר, מריצים את הפקודה gcloud firebase test android run עם הדגל --results-bucket ומעבירים את שם הקטגוריה של התוצאות. למידע נוסף, קראו את מאמרי העזרה של gcloud firebase test android run.
למה אני מקבל/ת תוצאות חלקיות או חסרות של מקרי בדיקה של אינסטרומנטציה?
כשמריצים בדיקות אינסטרומנטציה, יכול להיות שיופיעו שגיאות בבדיקה שמציינות תוצאות חלקיות, עם הודעות כמו Test run failed to complete. Expected
x tests, received y (כאשר y קטן מ-x). השגיאה הזו מציינת ש-Test Lab לא הצליח לנתח את ה-logcat של סמני ההתחלה או הסיום של מקרה הבדיקה, שבדרך כלל נוצרים על ידי AndroidJUnitRunner.
הסיבות הנפוצות לבעיה הזו:
תיאור הבעיה
פתרון אפשרי
מקרה הבדיקה לא הופעל כי הזמן הקצוב לתפוגה חלף. אם משך הזמן הכולל של הבדיקות ארוך יותר מזמן הקצוב לתפוגה שציינתם או ארוך יותר מהזמן המקסימלי הקצוב לתפוגה, Test Lab מבטל את שאר מקרי הבדיקה.
כדי לוודא שכל הבדיקות יושלמו, צריך להגדיל את זמן הקצוב לתפוגה של המטריצה.
אם עדיין לא עשיתם את זה, פצלו את הבדיקות כך שכל חלק יריץ קבוצת משנה של הבדיקות ויסתיים תוך זמן קצר יותר.
אם כבר הפעלתם פיצול, הגדילו את מספר הפיצולים.
מקרה הבדיקה לא הושלם כי הוא נסגר מוקדם מדי או נתקע.
יכול להיות שמקרה הבדיקה יסתיים מוקדם מדי בגלל חריגה שלא נתפסה או שגיאת טענה. מקרים של בדיקה יכולים להיתקע בלולאה אינסופית או לא להמשיך, למשל אם האפליקציה לא מציגה את התצוגה הנכונה ומקרה הבדיקה לא יכול לבצע את הפעולה בממשק המשתמש.
בודקים את הסרטון ואת logcat כדי לראות איפה הבדיקה נעצרה.
כלי מותאם אישית להרצת בדיקות (כולל הרחבה של AndroidJUnitRunner) קרס באופן בלתי צפוי או כתב סמנים בלתי צפויים של התחלה או סיום של מקרה בדיקה ב-logcat.
בודקים את הקוד של כלי הרצת הבדיקות.
נכתבו יותר מדי יומנים ב-logcat, מה שגרם לעומס יתר במאגר או לקריסה של התהליך logcat.
צמצום פעולות הכתיבה ל-logcat.
האפליקציה שנבדקה קרסה.
ניפוי באגים באפליקציה.
שאלות נפוצות
מהן המכסות ללא עלות של Test Lab? מה צריך לעשות אם נגמר המקום?
ב-Firebase Test Lab יש מכסות ללא עלות לבדיקה במכשירים ולשימוש ב-Cloud APIs. חשוב לזכור שמכסת הבדיקות משתמשת בתוכנית התמחור הרגילה של Firebase, אבל מכסות Cloud API לא.
מכסת בדיקות
מכסות הבדיקה נקבעות לפי מספר המכשירים שמשמשים להרצת הבדיקות.
בתוכנית Spark של Firebase יש מכסת בדיקות קבועה ללא עלות למשתמשים. בתוכנית Blaze, המכסות עשויות לגדול אם השימוש שלכם ב-Google Cloud יגדל עם הזמן. אם הגעתם למכסת הבדיקות, המתינו עד ליום הבא או שדרגו לתוכנית Blaze אם אתם כרגע בתוכנית Spark.
אם אתם כבר רשומים לתוכנית Blaze, אתם יכולים לבקש להגדיל את המכסה.
מידע נוסף על מכסות לבדיקה
שולחים בקשה להגדלת המכסות באמצעות עריכת המכסות ישירות במסוף Google Cloud (שימו לב שרוב המגבלות מוגדרות למקסימום כברירת מחדל).
כדי לבקש להגדיל את מכסות ה-API, צריך למלא טופס בקשה במסוף Google Cloud או לפנות לתמיכה של Firebase.
איך אפשר לדעת אם התנועה שמגיעה לקצה העורפי שלי מגיעה מ-Test Lab?
כדי לדעת אם התנועה מגיעה ממכשירי בדיקה שמתארחים ב-Firebase, אתם יכולים לבדוק אם כתובת ה-IP של המקור נמצאת בטווחי ה-IP שלנו.
האם Test Lab פועל עם VPC-SC?
Test Lab לא פועל עם VPC-SC, שחוסם את ההעתקה של אפליקציות ופריטי בדיקה אחרים בין האחסון הפנימי של Test Lab לבין קטגוריות התוצאות של המשתמשים.
איך מזהים בדיקות לא יציבות ב-Test Lab?
כדי לזהות התנהגות לא יציבה בבדיקות, מומלץ להשתמש באפשרות
--num-flaky-test-attempts
. ההרצות החוזרות של Deflake מחויבות או נספרות במכסה היומית שלכם, בדיוק כמו ביצועי בדיקות רגילים.
זכור את הנקודות הבאות:
כל ביצוע הבדיקה מופעל שוב כשמזוהה כשל. אין תמיכה בניסיון חוזר של מקרי בדיקה שנכשלו בלבד.
הרצות חוזרות של Deflake מתוזמנות לפעול בו-זמנית, אבל לא מובטח שהן יפעלו במקביל, למשל כשהתנועה חורגת ממספר המכשירים הזמינים.
שאלות נפוצות ספציפיות ל-iOS
האם Test Lab תומך ב-Appium, ב-Flutter/FlutterDriver, ב-ReactNative/Jest או ב-Cucumber?
חלק מהפריטים האלה נמצאים במפת הדרכים שלנו, אבל כרגע אנחנו לא יכולים להתחייב לתמוך בפלטפורמות האלה לבדיקה ולפיתוח של אפליקציות.
איפה אפשר למצוא פרטים על המכשיר, כמו רזולוציה וכו'?
אפשר לקבל מידע מפורט על המכשיר דרך ה-API, וגם לגשת אליו מהלקוח של gcloud באמצעות הפקודה describe:
gcloud firebase test ios models describe MODEL
האם אפשר להשתמש בחלוקה לפלחים בבדיקות של iOS?
אין תמיכה מובנית בחלוקה לפלחים ב-Test Lab ל-iOS. עם זאת, אתם יכולים להשתמש בלקוח Flank כדי לפצל מקרי בדיקה ב-iOS.
כדי לעשות את זה, מגדירים מפתח וערכים של OnlyTestIdentifiers בקובץ .xctestrun.
פרטים נוספים זמינים בדף man של xcodebuild.xctestrun.
למה בתוצאות של בדיקת iOS חסרים סרטונים?
בגרסאות iOS 18 ואילך, אנחנו לא יכולים לתמוך בסרטונים בתוצאות.
שאלות נפוצות ספציפיות ל-Android
האם Test Lab תומך במכשירים לבישים?
כן! Test Lab תומך ב-Google Pixel Watch. עכשיו אפשר להריץ בדיקות באפליקציית Wear העצמאית בשעוני Google Pixel Watch. מידע נוסף על מכשירי Test Lab זמין במאמר בדיקה במכשירים זמינים.
האם Test Lab תומך במכשירי Google העדכניים?
כן! Test Lab תומך ב-Google Pixel Tablet וב-Google Pixel Fold. אתם יכולים להריץ את הבדיקות במכשירים פיזיים עצמאיים.
מידע נוסף על מכשירי Test Lab זמין במאמר בדיקה במכשירים זמינים.
איך אפשר לזהות בדיקה שפועלת ב-Test Lab?
אם אתם בודקים את האפליקציה ב-Firebase או מריצים בדיקות בשביל דוח טרום-השקה ב-Play Console, אתם יכולים לבדוק אם הבדיקה פועלת במכשיר שמתארח ב-Firebase. כדי לעשות את זה, בודקים את מאפיין המערכת firebase.test.lab בקובץ MainActivity. לאחר מכן תוכלו להריץ הצהרות נוספות על סמך הערך הבוליאני של testLabSetting. מידע נוסף זמין במאמר התנהגויות בדיקה שהשתנו.
האם Test Lab תומך ב-Appium, ב-Flutter/FlutterDriver, ב-ReactNative/Jest או ב-Cucumber?
חלק מהפריטים האלה נמצאים במפת הדרכים שלנו, אבל כרגע אנחנו לא יכולים להתחייב לתמוך בפלטפורמות האלה לבדיקה ולפיתוח של אפליקציות. עם זאת, אם פיתחתם את האפליקציה באמצעות מסגרת שתומכת ב-Espresso (לדוגמה, Flutter), אתם יכולים לכתוב בדיקת אינסטרומנטציה באמצעות Espresso ואז להריץ את הבדיקה ב-Test Lab.
האם Test Lab תומך בבדיקת אפליקציות מעורפלות, למשל, באמצעות ProGuard או R8?
ב-Test Lab אין תמיכה מפורשת בערפול קוד או בפענוח קוד מעורפל. סביר להניח שהאפליקציה תפעל, אבל כל נתוני האפליקציה המעורפלים, כמו דוחות קריסות, יופיעו כמעורפלים ביומנים.
האם אפשר להשתמש במכשיר המתקפל במצבים שונים בזמן הבדיקה ב-Test Lab?
מכשירים מתקפלים יכולים להיות במצבי קיפול שונים, כמו FLAT (פתוח לגמרי) או HALF_OPENED (בין פתוח לגמרי לסגור לגמרי).
לעומת זאת, תנוחות מורכבות מכיוון ספציפי של המכשיר וממצב קיפול. לדוגמה, מצב שולחן, שהוא מצב HALF_OPENED בכיוון אופקי, או מצב ספר, שהוא מצב HALF_OPENED בכיוון אנכי.
בניגוד למוצרים אחרים של Firebase, לא צריך להוסיף ערכת Firebase SDK כדי להשתמש ב-Test Lab. אם אין לכם אפליקציה, אתם יכולים להוריד קובץ APK באינטרנט או ליצור אפליקציה וקובץ APK לבדיקה מאחת מהדוגמאות במאגר AndroidX ב-GitHub.
שימו לב: כדי להריץ בדיקת Robo, אתם צריכים רק את קובץ ה-APK של האפליקציה. לעומת זאת, כדי להריץ בדיקת אינסטרומנטציה, אתם צריכים גם את קובץ ה-APK של האפליקציה וגם את קובץ ה-APK של הבדיקה, שנוצרו מקוד המקור. מידע נוסף זמין במאמר בנושא בדיקות עם כלים.
באילו מכשירים הכי כדאי להשתמש כדי לבדוק את ההבדלים בצילומי המסך?
בדיקת השוואת צילומי מסך היא בדיקה שבה טענות נכונות (assertions) מבוססות על השוואה בין תמונות מסך שמתקבלות בזמן הרצת הבדיקה לבין תמונות זהב שמייצגות את ההתנהגות הצפויה. בדיקות כאלה עשויות להיות פחות יציבות בסוגי מכשירים מסוימים. אנחנו ממליצים לטרגט מכשירי אמולטור של Arm (*.arm) לבדיקות מהסוג הזה. מכשירי אמולטור של Arm משתמשים בתמונות שדומות מאוד או זהות לאמולטורים "גנריים" של Android Studio.
אנחנו גם ממליצים לבדוק ספריות בדיקה שיכולות לעזור להפוך את בדיקות צילומי המסך ליציבות יותר במקרה של שינויים צפויים.
האם Test Lab מעדכן מכשירים וירטואליים?
כן! המכשירים הווירטואליים מתעדכנים כשמבצעים את השינויים הבאים:
עדכונים לתמונות קיימות
הוצאה משימוש של רמות API קודמות
נוספות רמות API חדשות ב-Android
איך מפעילים דוחות כיסוי?
כדי להפעיל דוחות כיסוי, מוסיפים את coverage=true לשדה environmentVariables.
אם אתם משתמשים בתזמור בדיקות ל-Android, תצטרכו לספק ספרייה לאחסון תוצאות הכיסוי:
איפה אפשר למצוא פרטים על המכשיר, כמו רזולוציה, ממשקי ABI נתמכים וכו'?
אפשר לקבל מידע מפורט על המכשיר דרך ה-API, וגם לגשת אליו מלקוח gcloud באמצעות הפקודה describe:
gcloud firebase test android models describe MODEL
איך מתחברים לאפליקציית Wear בלי טלפון?
אם האפליקציה תומכת בכניסה באמצעות חשבון Google, זה אמור לפעול באופן אוטומטי עם חשבון בדיקה. אם האפליקציה בדרך כלל דורשת טלפון כדי להתחבר, אתם יכולים ליצור וריאנט build שמדלג על ההתחברות ומשתמש בטוקן שמוטמע ב-build לבדיקה, או קורא מקבצים בדיסק שבדרך כלל נשלחים באמצעות --other-files option. מידע נוסף זמין במאמר התאמה אישית של ההתחברות והזנת הטקסט בבדיקות Robo.
בעיות מוכרות
CAPTCHA בכניסה לחשבון
בדיקת Robo לא יכולה לעקוף מסכי כניסה שדורשים פעולה נוספת של המשתמש מעבר להזנת פרטי כניסה, למשל השלמת CAPTCHA.
בעיות ידועות שספציפיות ל-iOS
כניסה אוטומטית לחשבון
בבדיקות Robo ל-iOS+ (בטא) אין תמיכה בכניסה אוטומטית באמצעות חשבון Google.
בעיות ידועות שספציפיות ל-Android
תמיכה במסגרת של ממשק המשתמש
בדיקת Robo פועלת בצורה הטובה ביותר באפליקציות שמשתמשות ברכיבים בממשק המשתמש מ-Android UI framework (כולל אובייקטים מסוג View, ViewGroup ו-WebView). אם אתם משתמשים בבדיקת Robo כדי להפעיל אפליקציות שמשתמשות במסגרות אחרות של ממשק משתמש, כולל אפליקציות שמשתמשות במנוע המשחק 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"]],["עדכון אחרון: 2026-10-16 (שעון UTC)."],[],[]]