BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

java.lang.Object
   ↳ com.android.tradefed.result.BugreportCollector


ITestInvocationListener של צדדים שלישיים שאוסף דוחות על באגים כשמתרחשים אירועים ניתנים להגדרה, ואז קורא ל-ITestInvocationListener#testLog עבור הצאצאים שלו אחרי כל איסוף של דוח על באג.

התנהגויות: (FIXME: סיום הזה)

  • תיעוד אחרי כל בדיקת תוכנה שנכשלה
  • תיעוד אחרי כל בדיקת תוכנה
  • תיעוד אחרי כל בדיקת תוכנה שנכשלה
  • צילום

סיכום

מחלקות מקוננות

class BugreportCollector.Predicate

פרדיקט מלא שמתאר מתי לתעד דוח על באג. 

interface BugreportCollector.SubPredicate

 

שדות

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

תנאי מוגדר מראש שמופעל אחרי כל בדיקת תוכנה שנכשלה

public static final BugreportCollector.Predicate AT_START

תנאי מוגדרת מראש שמופעל כשהקריאה הראשונה מתחילה

יוצרים ציבוריים

BugreportCollector(ITestInvocationListener listener, ITestDevice testDevice)

שיטות ציבוריות

void addPredicate(BugreportCollector.Predicate p)
void blockUntilIdle()

חוסמים עד שהאוסף לא אוסף דוחות באגים.

TestSummary getSummary()

מאפשר ל-InvocationListener להחזיר סיכום.

void invocationEnded(long elapsedTime)

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

void invocationFailed(Throwable cause)

דיווח על קריאה חלקית עקב תנאי שגיאה כלשהו.

void invocationStarted(IInvocationContext context)

דיווח על התחלת ההפעלה של הבדיקה.

void setAsynchronous(boolean asynchronous)

צריך לקבוע אם איסוף הדוח על הבאג יאסוף את הדוח על הבאג בשרשור אחר (asynchronous = true), או לחסום את מבצע הקריאה החוזרת עד שהדוח על הבאג יתועד (asynchronous = false).

void setDescriptiveName(String name)

הגדרת השם התיאורי לשימוש בזמן תיעוד דוחות באגים.

void setDeviceWaitTime(int waitTime)

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

void testAssumptionFailure(TestDescription test, String trace)

מופעלת כשבדיקה אטומית מסמנת שהיא מניחה שהתנאי לא נכון

void testEnded(TestDescription test, testMetrics)

דיווח על סיום הביצוע של מקרה בדיקה ספציפי.

void testFailed(TestDescription test, String trace)

דיווח על כשל של מקרה בדיקה ספציפי.

void testIgnored(TestDescription test)

הקריאה מתבצעת כשבדיקה לא מופעלת, בדרך כלל כי השיטה לבדיקה מסומנת ב-org.junit.Ignore.

void testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)

הנתונים המשויכים של היומן או ניפוי הבאגים מהפעלת הבדיקה.

void testRunEnded(long elapsedTime, runMetrics)

דיווח על סיום הרצת הבדיקה.

void testRunFailed(String errorMessage)

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

void testRunStarted(String runName, int testCount)

דיווח על התחלת הרצה של בדיקה.

void testRunStopped(long elapsedTime)

הרצת הבדיקה של הדוחות הופסקה לפני שהסתיימה עקב בקשה של משתמש.

void testStarted(TestDescription test)

דיווח על התחלת מקרה בדיקה ספציפי.

שדות

after_FAILED_TESTCASES

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

תנאי מוגדר מראש שמופעל אחרי כל בדיקת תוכנה שנכשלה

AT_START

public static final BugreportCollector.Predicate AT_START

תנאי מוגדרת מראש שמופעל כשהקריאה הראשונה מתחילה

יוצרים ציבוריים

BugreportCollector

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

פרמטרים
listener ITestInvocationListener

testDevice ITestDevice

שיטות ציבוריות

addPredicate

public void addPredicate (BugreportCollector.Predicate p)

פרמטרים
p BugreportCollector.Predicate

חסימה עד לתאריך חוסר הפעילות

public void blockUntilIdle ()

יש לחסום עד שהאוסף לא יאסוף דוחות על באגים. אם האוסף לא אוסף באופן פעיל דוח על באג, צריך לחזור מיד

getSummary

public TestSummary getSummary ()

מאפשר ל-InvocationListener להחזיר סיכום.

החזרות
TestSummary TestSummary שמסכם את ההרצה, או null

invocationEnded

public void invocationEnded (long elapsedTime)

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

תתבצע קריאה אוטומטית על ידי framework של TradeFederation.

פרמטרים
elapsedTime long: זמן ההפעלה שחלף באלפיות השנייה

ההפעלה נכשלה

public void invocationFailed (Throwable cause)

מדווח על הפעלה שלא הושלמה עקב מצב שגיאה כלשהו.

הקריאה תתבצע באופן אוטומטי על ידי מסגרת TradeFederation.

פרמטרים
cause Throwable: Throwable הסיבה לכישלון

invocationStarted

public void invocationStarted (IInvocationContext context)

דיווח על התחלת ההפעלה של הבדיקה.

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

פרמטרים
context IInvocationContext: מידע על ההפעלה

הגדרה אסינכרונית

public void setAsynchronous (boolean asynchronous)

מגדירים אם האיסוף של דוח הבאג יאסוף את דוח הבאג בשרשור אחר (asynchronous = true), או אם הוא יחסום את מבצע הקריאה החוזרת עד שדוח הבאג יתועד (asynchronous = false).

פרמטרים
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

הגדרת השם התיאורי לשימוש בזמן תיעוד דוחות באגים. אם null, הערך של BugreportCollector יחזור לברירת המחדל של סריאליזציה של שם האירוע שגרם לאיסוף דוח הבאג.

פרמטרים
name String

setDeviceWaitTime

public void setDeviceWaitTime (int waitTime)

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

פרמטרים
waitTime int

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

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

פרמטרים
test TestDescription: מזהה את הבדיקה

trace String: דוח קריסות של כשל

testEnded

public void testEnded (TestDescription test, 
                 testMetrics)

דיווח על סיום הביצוע של מקרה בדיקה ספציפי.

אם לא הופעל testFailed(TestDescription, FailureDescription), הבדיקה הזו עברה. הפונקציה מחזירה גם מדדים מסוג מפתח/ערך שעשויים להופיע במהלך ביצוע מקרה הבדיקה.

פרמטרים
test TestDescription: מזהה את הבדיקה

testMetrics : ERROR(/Map) של המדדים שמונפקים

הבדיקה נכשלה

public void testFailed (TestDescription test, 
                String trace)

דיווח על כשל במקרה בדיקה ספציפי.

הקריאה תתבצע בין testStarted ל-testEnded.

פרמטרים
test TestDescription: מזהה את הבדיקה

trace String: סטאק טריי של הכשל

testIgnored

public void testIgnored (TestDescription test)

נשלחת קריאה כאשר לא תבוצע בדיקה, בדרך כלל מפני שלשיטת בדיקה יש הערות עם org.junit.ignore.

פרמטרים
test TestDescription: מזהה את הבדיקה

יומן בדיקה

public void testLog (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

הנתונים המשויכים של היומן או ניפוי הבאגים מהפעלת הבדיקה.

צריך להפעיל את הפונקציה לפני ERROR(/ITestInvocationListener#invocationFailed(Throwable)) או ERROR(/ITestInvocationListener#invocationEnded(long))

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

פרמטרים
dataName String: String שם תיאורי של הנתונים. לדוגמה, 'device_logcat'. הערה: שם המשתנה dataName לא חייב להיות ייחודי לכל קריאה. כלומר, למטמיעים צריכה להיות אפשרות לטפל בכמה קריאות עם אותו שם משתנה.

dataType LogDataType: ה-LogDataType של הנתונים

dataStream InputStreamSource: ה-InputStreamSource של הנתונים. מי שמטמיע את הקוד צריך להפעיל את createInputStream כדי להתחיל לקרוא את הנתונים, ולוודא שהוא סוגר את ה-InputStream שנוצר בסיום. מבצעי הקריאה צריכים לוודא שמקור הנתונים יישאר נוכח ונגיש עד להשלמת השיטה testLog.

testRunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

דיווח על סיום הרצת הבדיקה.

פרמטרים
elapsedTime long: הזמן שחלף שדווח על ידי המכשיר, באלפיות השנייה

runMetrics : צמדי מפתח/ערך שמדווחים בסוף הרצה של בדיקה

testRunFailed

public void testRunFailed (String errorMessage)

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

פרמטרים
errorMessage String: String שמתאר את הסיבה לכישלון ההרצה.

בדיקת ההרצה

public void testRunStarted (String runName, 
                int testCount)

דיווח על התחלת הרצה של בדיקה.

פרמטרים
runName String: שם ההרצה לניסיון

testCount int: מספר הבדיקות הכולל בהרצת הבדיקה

testRunStopped

public void testRunStopped (long elapsedTime)

הרצת הבדיקה של הדוחות הופסקה לפני שהסתיימה עקב בקשה של משתמש.

TODO: currently unused, consider removing

פרמטרים
elapsedTime long: הזמן שחלף שדווח על ידי המכשיר, באלפיות השנייה

הבדיקה התחילה

public void testStarted (TestDescription test)

מדווח על ההתחלה של מקרה בדיקה ספציפי. ממשק ישן יותר, עדיף להשתמש ב-testStarted(com.android.tradefed.result.TestDescription) כשהדבר אפשרי.

פרמטרים
test TestDescription: מזהה את הבדיקה