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) 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) 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

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

בהתחלה

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

blockUntilIdle

public void blockUntilIdle ()

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

getSummary

public TestSummary getSummary ()

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

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

הקריאה הסתיימה

public void invocationEnded (long elapsedTime)

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

ייקרא אוטומטית על ידי מסגרת TradeFederation.

פרמטרים
elapsedTime long : הזמן שחלף של הקריאה ב-ms

הפניה נכשלה

public void invocationFailed (Throwable cause)

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

ייקרא אוטומטית על ידי מסגרת TradeFederation.

פרמטרים
cause Throwable : הגורם Throwable לכשל

התראה התחילה

public void invocationStarted (IInvocationContext context)

מדווח על תחילת הזמנת הבדיקה.

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

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

setAsynchronous

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

testAssumption Failure

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 : מזהה את הבדיקה

testLog

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 כדי להתחיל לקרוא את הנתונים, ולהבטיח לסגור את ה-InputStream שהתקבל לאחר השלמתו. המתקשרים צריכים לוודא שמקור הנתונים נשאר קיים ונגיש עד להשלמת שיטת testLog.

testRunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

מדווח על סיום ריצת המבחן. FIXME: אין לנו שני ממשקי Map<> עם סוג שונה, אז עלינו להשתמש ב-HashMap כאן.

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

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

testRunFailed

public void testRunFailed (String errorMessage)

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

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

testRunStarted

public void testRunStarted (String runName, 
                int testCount)

מדווח על תחילת ריצת מבחן.

פרמטרים
runName String : שם ריצת המבחן

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

testRunStopped

public void testRunStopped (long elapsedTime)

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

מטלה: לא בשימוש כרגע, שקול להסיר

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

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

public void testStarted (TestDescription test)

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

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