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, אפשר לעיין בלוח הבקרה של סטטוס שירותי Firebase.
מידע נוסף על קיבולת המכשירים ב-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 מבטל את שאר מקרי הבדיקה.
כדי לוודא שכל הבדיקות יושלמו, צריך להגדיל את זמן הקצוב לתפוגה של המטריצה.
אם עדיין לא עשיתם את זה, פצלו את הבדיקות כך שכל פיצול יריץ קבוצת משנה של הבדיקות ויסתיים בפרק זמן קצר יותר.
אם כבר הפעלתם פיצול, הגדילו את מספר החלקים.
מקרה הבדיקה לא הושלם כי הוא נסגר מוקדם מדי או נתקע.
יכול להיות שמקרה הבדיקה יסתיים מוקדם מדי בגלל חריגה שלא נתפסה או שגיאת טענה (assertion). מקרים של בדיקה יכולים להיתקע בלולאה אינסופית או לא להמשיך, למשל אם האפליקציה לא מציגה את התצוגה הנכונה ומקרה הבדיקה לא יכול לבצע את הפעולה בממשק המשתמש.
בודקים את הסרטון ואת 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?
ב-backend, אתם יכולים לבדוק אם התנועה מגיעה ממכשירי בדיקה שמתארחים ב-Firebase. לשם כך, צריך להשוות בין כתובת ה-IP של המקור לבין טווחי ה-IP שלנו.
האם Test Lab פועל עם VPC-SC?
Test Lab לא פועל עם VPC-SC, שחוסם את ההעתקה של אפליקציות ופריטי בדיקה אחרים בין האחסון הפנימי של Test Lab לבין קטגוריות התוצאות של המשתמשים.
איך מזהים בדיקות לא יציבות ב-Test Lab?
כדי לזהות התנהגות לא יציבה בבדיקות, מומלץ להשתמש באפשרות
--num-flaky-test-attempts
. ההפעלה מחדש של בדיקות לא יציבות מחויבת או נספרת במכסה היומית, בדיוק כמו ביצוע בדיקות רגילות.
זכור את הנקודות הבאות:
כל ביצוע הבדיקה מופעל שוב כשמזוהה כשל. אין תמיכה בהפעלה מחדש של מקרי בדיקה שנכשלו בלבד.
ההרצות של Deflake retry מתוזמנות לפעול בו-זמנית, אבל לא מובטח שהן יפעלו במקביל, למשל כשהתנועה חורגת ממספר המכשירים הזמינים.
שאלות נפוצות ספציפיות ל-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-31 (שעון UTC)."],[],[]]