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)
צריך לקבוע אם איסוף הדוח על הבאג יאסוף את הדוח על הבאג בשרשור אחר ( |
void
|
setDescriptiveName(String name)
הגדרת השם התיאורי לשימוש בזמן תיעוד דוחות באגים. |
void
|
setDeviceWaitTime(int waitTime)
הגדרת משך הזמן (בשניות) להמתנה עד שהמכשיר יהיה אונליין לפני שננסה לצלם דוח באג. |
void
|
testAssumptionFailure(TestDescription test, String trace)
מופעלת כשבדיקה אטומית מסמנת שהיא מניחה שהתנאי לא נכון |
void
|
testEnded(TestDescription test,
דיווח על סיום הביצוע של מקרה בדיקה ספציפי. |
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,
דיווח על סיום הרצת הבדיקה. |
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 : מזהה את הבדיקה |