אוסף דוחות באגים
public
class
BugreportCollector
extends Object
implements
ITestInvocationListener
JavaScript.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
פרדיקט מוגדר מראש שמופעל כשההפעלה הראשונה מתחילה
בנאים ציבוריים
אוסף דוחות באגים
public BugreportCollector (ITestInvocationListener listener, ITestDevice testDevice)
פרמטרים | |
---|---|
listener |
ITestInvocationListener |
testDevice |
ITestDevice |
שיטות ציבוריות
addPredicate
public void addPredicate (BugreportCollector.Predicate p)
פרמטרים | |
---|---|
p |
BugreportCollector.Predicate |
בלוק עדId
public void blockUntilIdle ()
יש לחסום עד שהאוסף לא יאסוף דוחות על באגים. אם אספן לא פעיל איסוף דוח על באג, חזרה מיד
getSummary
public TestSummary getSummary ()
מאפשר ל-InvocationListener להחזיר סיכום.
החזרות | |
---|---|
TestSummary |
TestSummary שמסכם את הריצה, או null |
ההפעלה הסתיימה
public void invocationEnded (long elapsedTime)
דיווחים שההפעלה הסתיימה, בין אם בהצלחה או בגלל שגיאה כלשהי תנאי.
תתבצע קריאה אוטומטית על ידי framework של TradeFederation.
פרמטרים | |
---|---|
elapsedTime |
long : זמן ההפעלה שחלף באלפיות השנייה |
ההפעלה נכשלה
public void invocationFailed (Throwable cause)
מדווח על הפעלה שלא הושלמה עקב מצב שגיאה כלשהו.
תתבצע קריאה אוטומטית על ידי framework של TradeFederation.
פרמטרים | |
---|---|
cause |
Throwable : הסיבה Throwable לכשל |
ההפעלה התחילה
public void invocationStarted (IInvocationContext context)
מדווח על התחלת ההפעלה של הבדיקה.
תתבצע קריאה אוטומטית על ידי framework של TradeFederation. המדווחים צריכים לשנות את ברירת המחדל בשיטה הזאת, יש תמיכה בדיווח על כמה מכשירים.
פרמטרים | |
---|---|
context |
IInvocationContext : מידע על ההפעלה |
הגדרה אסינכרונית
public void setAsynchronous (boolean asynchronous)
הגדרה אם איסוף דוחות הבאגים יאסוף את הדוח על הבאג בשרשור אחר
(asynchronous = true
), או לחסום את המתקשר עד שהדוח על הבאג יתועד
(asynchronous = false
).
פרמטרים | |
---|---|
asynchronous |
boolean |
setDescriptiveName
public void setDescriptiveName (String name)
צריך להגדיר את השם התיאורי שישמש לתיעוד דוחות על באגים. אם null
,
BugreportCollector
יחזור להתנהגות ברירת המחדל של סידור השם בהמשכים
האירוע שגרם לאיסוף של הדוח על הבאג.
פרמטרים | |
---|---|
name |
String |
setDevicePendingTime (זמן ההמתנה של המכשיר)
public void setDeviceWaitTime (int waitTime)
יש להגדיר את משך הזמן (בשניות) למצב המתנה עד שהמכשיר יהיה במצב אונליין לפני שננסה לצלם
על באג. אם הערך שלילי, לא תתבצע בדיקה. כל DeviceNotAvailableException
במהלך הבדיקה הזו יתועדו, והמערכת תתעלם מהם.
פרמטרים | |
---|---|
waitTime |
int |
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, String trace)
מופעלת כשבדיקה אטומית מסמנת שהיא מניחה שהתנאי לא נכון
פרמטרים | |
---|---|
test |
TestDescription : מזהה את הבדיקה |
trace |
String : דוח קריסות של כשל |
הבדיקה הסתיימה
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 : דוח קריסות של כשל |
התעלמות מבדיקה
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 לא יכול להיות ייחודי בכל הפעלה. כלומר, הטמעות צריכות להיות מסוגלות לטפל
כמה קריאות עם אותו dataName |
dataType |
LogDataType : ה-LogDataType של הנתונים |
dataStream |
InputStreamSource : ה-InputStreamSource של הנתונים. מטמיעים צריכים להתקשר
CreateInputStream כדי להתחיל לקרוא את הנתונים, ולוודא לסגור את
StreamStream לאחר השלמת הפעולה. המתקשרים צריכים לוודא שמקור הנתונים יישאר
קיימים ונגישים עד לסיום שיטת testLog. |
הבדיקה הסתיימה
public void testRunEnded (long elapsedTime,runMetrics)
הדוחות הסתיימו של הרצת הבדיקה. FIXME: אנחנו לא יכולים ליצור שתי מפות<> עם סוגים שונים, כאן צריך להשתמש ב-HashMap.
פרמטרים | |
---|---|
elapsedTime |
long : דיווח על הזמן שחלף במכשיר, באלפיות השנייה |
runMetrics |
: צמדי מפתח/ערך מדווחים בסיום הרצת בדיקה עם Metric . |
הבדיקה נכשלה
public void testRunFailed (String errorMessage)
הפעלת בדיקת הדוחות נכשלה עקב שגיאה חמורה.
פרמטרים | |
---|---|
errorMessage |
String : String מתארת את הסיבה לכשל בהפעלה. |
בדיקת ההרצה
public void testRunStarted (String runName, int testCount)
מדווח על התחלה של הרצת בדיקה.
פרמטרים | |
---|---|
runName |
String : שם הרצת הבדיקה |
testCount |
int : מספר הבדיקות הכולל בהרצת הבדיקה |
TestRunSStop
public void testRunStopped (long elapsedTime)
הרצת בדיקת הדוחות הופסקה לפני שהסתיימה עקב בקשה של משתמש.
TODO: לא בשימוש כרגע, כדאי להסיר
פרמטרים | |
---|---|
elapsedTime |
long : דיווח על הזמן שחלף במכשיר, באלפיות השנייה |
הבדיקה התחילה
public void testStarted (TestDescription test)
מדווח על ההתחלה של מקרה בדיקה ספציפי. בממשק ישן, צריך להשתמש ב-testStarted(com.android.tradefed.result.TestDescription)
כשהדבר אפשרי.
פרמטרים | |
---|---|
test |
TestDescription : מזהה את הבדיקה |