ניסיון חוזר לבדיקה אוטומטית

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

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

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

אפשר ניסיון חוזר אוטומטי

הניסיון החוזר האוטומטי נשלט באמצעות האובייקט RetryDecision המספק שתי אפשרויות להפעלת התכונה: max-testcase-run-count ו- retry-strategy .

max-testcase-run-count מניע את מספר הניסיונות החוזרים או האיטרציות שנוסו. זה מגדיר גבול עליון כדי להימנע מניסיון חוזר לנצח. retry-strategy מניעה את ההחלטה כיצד לנסות שוב; עיין בסעיפים הבאים לפרטים נוספים.

השבת ניסיון חוזר אוטומטי

השתמש באפשרות הבאה:

--retry-strategy NO_RETRY

נסה שוב כשלים

כדי לנסות שוב כשלים בבדיקה, השתמש באפשרויות הבאות:

--retry-strategy RETRY_ANY_FAILURE --max-testcase-run-count X

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

איטרציות

כדי להפעיל מחדש בדיקות למשך מספר זמן, ניתן להשתמש באפשרויות הבאות:

--retry-strategy ITERATIONS --max-testcase-run-count X

איך נראות התוצאות?

כתבי תוצאות כברירת מחדל יקבלו תוצאות מצטברות של כל הניסיונות.

לדוגמה: Fail Pass עבור RETRY_ANY_FAILURE יגרמו Pass מצטבר מכיוון שהניסיון החוזר הצליח לנקות את הכישלון.

אפשר לכתבים לקבל את התוצאות הלא מצטברות. לשם כך, עליהם להרחיב את ממשק ISupportGranularResults שמצהיר על תמיכה בתוצאות המפורטות (הלא מצטברות).

פרטי יישום

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

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