קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
בדף הזה אפשר למצוא עזרה בפתרון בעיות ותשובות לשאלות נפוצות
שאלות על הרצת בדיקות באמצעות Firebase Test Lab. הבעיות המוכרות הן גם
שתועדו. אם לא מצאתם את מה שחיפשתם או שדרושה לכם עזרה נוספת, תוכלו להצטרף לערוץ #test-lab ב-Slack של Firebase או לפנות אל התמיכה של Firebase.
פתרון בעיות
למה הבדיקה נמשכת כל כך הרבה זמן?
כשבוחרים מכשיר עם רמת קיבולת גבוהה בקטלוג Test Lab, ייתכן שהבדיקות יתחילו מהר יותר. כאשר
הקיבולת של המכשיר נמוכה, לכן הרצת הבדיקות עשויה להימשך זמן רב יותר. אם מספר
הבדיקות שמופעלות הרבה יותר גדולות מהקיבולת של המכשירים שנבחרו, הבדיקות
יכול להימשך זמן רב יותר.
בדיקות שפועלות בכל רמת קיבולת של המכשיר עשויות להימשך זמן רב יותר,
הגורמים הבאים:
תנועה שמשפיעה על זמינות המכשירים ועל מהירות הבדיקה.
כשלים במכשיר או בתשתיות. תקלות יכולות להתרחש בכל שלב. כדי לבדוק
אם קיימת תשתית מדווחת עבור Test Lab, עיין ב
לוח הבקרה של סטטוס Firebase.
למידע נוסף על קיבולת המכשיר ב-Test Lab, יש לעיין בקיבולת המכשיר
ל-Android ול-iOS.
למה מתקבלות תוצאות בדיקה שהן לא חד-משמעיות?
לרוב, תוצאות בדיקה שהן לא חד-משמעיות מתרחשות בגלל הרצת בדיקות שבוטלו
או שגיאות בתשתית.
שגיאות בתשתית נגרמות כתוצאה מבעיות Test Lab פנימיות, כמו שגיאות ברשת או התנהגות לא צפויה של המכשיר. Test Lab הפעלות בדיקה פנימיות של ההוצאה משימוש
שמייצרות שגיאות תשתית כמה פעמים לפני שמדווחים
תוצאה לא חד-משמעית; עם זאת, אפשר להשבית ניסיונות חוזרים אלו באמצעות
failFast.
כדי לקבוע את הגורם לשגיאה, פועלים לפי השלבים הבאים:
צריך לנסות שוב את הבדיקה ב-Test Lab כדי לוודא שהיא ניתנת לשחזור.
אם רלוונטי, נסו להריץ את הבדיקה במכשיר או בסוג מכשיר אחר.
אם הבעיה נמשכת, אפשר לפנות לצוות Test Lab ב
#test-lab channel הוא
Firebase Slack.
למה הפיצול גרם לבדיקות
ארוך יותר?
פיצול יכול לגרום לבדיקות לפעול למשך זמן רב יותר כשמספר הפיצולים
שצוין חורג ממספר המכשירים הזמינים לשימוש ב-Test Lab. שפת תרגום
כדי להימנע מהמצב הזה, כדאי לנסות לעבור למכשיר אחר. אפשר לקבל מידע נוסף
על בחירת מכשיר אחר,
קיבולת המכשיר.
למה לוקח זמן רב כל כך להתחיל את הבדיקה?
כששולחים בקשת בדיקה, האפליקציה מאומתת לראשונה, נחתמת מחדש וכו'.
להתכונן להרצת בדיקות במכשיר. בדרך כלל, התהליך הזה מסתיים
פחות מכמה שניות, אבל הוא יכול להיות מושפע מגורמים כמו גודל
אפליקציה.
אחרי שהאפליקציה מוכנה, ההפעלות של הבדיקות מתוזמנות ונשארות בתור
עד שהמכשיר מוכן להפעיל אותו. עד שכל הרצאות הבדיקות יסתיימו, סטטוס המטריצה יהיה 'בהמתנה' (ללא קשר לכך שהרצאות הבדיקות נמצאות בתור או שפועלות באופן פעיל).
למה לוקח הרבה זמן
עד לסיום הבדיקה?
בסיום ביצוע הבדיקה, תתבצע הורדה של פריטי מידע שנוצרו בתהליך פיתוח (Artifact) של הבדיקה
המכשיר, עובדה והועלתה אל Cloud Storage. משך הזמן של השלב הזה
להיות מושפעים מהכמות והגודל של פריטי המידע שנוצרו בתהליך הפיתוח (Artifact).
שאלות נפוצות
מהן המכסות ללא עלות?
של Test Lab? מה אפשר לעשות אם ייגמר לי המקום?
ב-Firebase Test Lab יש מכסות ללא עלות לבדיקה במכשירים ולשימוש
ממשקי API של הענן. שימו לב שמכסת הבדיקות מבוססת על תוכנית התמחור והתשלומים הרגילה של Firebase,
ואילו המכסות של Cloud API לא משתנות.
בדיקת המכסה
מכסות הבדיקה נקבעות לפי מספר המכשירים שמשמשים להפעלת בדיקות.
בתוכנית Firebase Spark יש מכסה קבועה לבדיקה ללא עלות למשתמשים. בתוכנית Blaze, המכסות עשויות לגדול אם השימוש שלכם ב-Google Cloud יגדל עם הזמן. אם הגעת למכסת הבדיקות שלך, עליך להמתין למועד הבא
או לשדרג לתוכנית Blaze, אם אתם כרגע בתוכנית Spark.
אם אתם כבר בתוכנית Blaze, תוכלו לבקש הגדלה של המכסה.
מידע נוסף זמין במאמר הבא:
בדיקה של מכסות
צריך להגיש בקשה להגדלה של המכסות עד
עריכת המכסות
ישירות במסוף Google Cloud (שימו לב שרוב המגבלות מוגדרות
מקסימום כברירת מחדל), או
כדי לבקש הגדלה של מכסות ה-API, אפשר למלא טופס בקשה במסוף Google Cloud או לפנות לתמיכה של Firebase.
איך אוכל לדעת אם
התנועה שמגיעה לקצה העורפי שלי מגיעה מ-Test Lab?
מהקצה העורפי שלכם אפשר לקבוע אם התנועה מגיעה מ-Firebase שמתארח ב-Firebase
מכשירים על ידי בדיקת כתובת ה-IP של המקור מול
טווחי IP.
האם Test Lab עובד עם
VPC-SC?
Test Lab לא פועל עם VPC-SC, שמחסום את העתקת האפליקציות וארטיפקטים אחרים של בדיקות בין האחסון הפנימי של Test Lab לקטגוריות התוצאות של המשתמשים.
איך אני מזהה בדיקות לא יציבות
Test Lab?
כדי לזהות התנהגות לא יציבה בבדיקות, מומלץ להשתמש
--num-flaky-test-ניסיונות
כאפשרות. שידורים חוזרים של Deflake מחויבים או נספרים במכסה היומית שלכם, בדיוק כמו
ולבצע בדיקות רגילות.
זכור את הנקודות הבאות:
כל ביצוע הבדיקה מופעל מחדש כשמזוהה כשל. אין
תמיכה בניסיון חוזר רק של מקרי בדיקה שנכשלו.
הפעלות של ניסיונות חוזרים של Deflake מתוכננות לפעול בו-זמנית, אבל לא
מובטח שתפעל במקביל, לדוגמה, כשהתנועה תחרוג ממספר
מכשירים זמינים.
האם Test Lab תומך?
Appium, Flutter/FlutterDriver, ReactNative/Jest או מלפפון?
אמנם חלק מהפריטים האלה נמצאים בתוכנית שלנו, אבל בשלב זה אין לנו אפשרות לספק
את המחויבות לתמיכה בפלטפורמות הבדיקה ופיתוח האפליקציות האלה.
איפה אפשר למצוא את פרטי המכשיר
כמו רזולוציה וכו'.
מידע מפורט על המכשיר זמין דרך ה-API וניתן לגשת אליו
של לקוח gcloud באמצעות
תיאור הפקודה:
gcloud firebase test ios models describe MODEL
האם אפשר להשתמש בפיצול בבדיקות iOS?
אין תמיכה בפיצול בתוך Test Lab ל-iOS. אבל אפשר
להשתמש בלקוח Flank כדי לפצל את מקרי הבדיקה של iOS.
כדי לעשות את זה, צריך להגדיר מפתח וערכים של OnlyTestIdentifiers בקובץ .xctestrun.
אפשר למצוא פרטים נוספים בדף man של xcodebuild.xctestrun.
בעיות מוכרות
captcha לכניסה
בדיקת רובו לא יכולה לעקוף מסכי כניסה שמחייבים
לבצע פעולות משתמש נוספות מעבר להזנת פרטי כניסה לכניסה, לדוגמה,
השלמת CAPTCHA.
תמיכה ב-framework של ממשק משתמש
הבדיקה Robo פועלת בצורה הטובה ביותר עם אפליקציות שמשתמשות ברכיבים של ממשק המשתמש מממשק המשתמש של Android
מסגרת (כולל View, ViewGroup ו-WebView)
). אם משתמשים בבדיקה של Robo כדי להפעיל אפליקציות שמשתמשות בממשק משתמש אחר
frameworks, כולל אפליקציות שמשתמשות במנוע המשחק Unity, עשויה לצאת מהבדיקה
בלי לחקור מעבר למסך הראשון.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"חסרים לי מידע או פרטים"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"התוכן מורכב מדי או עם יותר מדי שלבים"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"התוכן לא עדכני"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"בעיה בתרגום"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"בעיה בדוגמאות/בקוד"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"סיבה אחרת"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"התוכן קל להבנה"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"התוכן עזר לי לפתור בעיה"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"סיבה אחרת"
}]
{"lastModified": "\u05e2\u05d3\u05db\u05d5\u05df \u05d0\u05d7\u05e8\u05d5\u05df: 2024-09-12 (\u05e9\u05e2\u05d5\u05df UTC)."}
[[["התוכן קל להבנה","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"]],["עדכון אחרון: 2024-09-12 (שעון UTC)."]]