כשמריצים בדיקות בצד המכשיר (לדוגמה, מכשירי מדידה, בדיקות של UI Automator), יכול להיות שמאספים בצד המארח לא יהיו אידיאליים כי קשה לסנכרן את איסוף המדדים עם בדיקה שפועלת במכשיר. לדוגמה, צילום מסך שצולם באופן אסינכרוני עלול לא לכלול את המסך הרצוי ולהיות חסר תועלת.
כדי לעמוד בתרחישים לדוגמה האלה, יש גרסה של ה-collectors שלנו בצד המכשיר, שאפשר להשתמש בה בכל מכשיר AndroidJUnitRunner
.
אפשר להטמיע את BaseMetricListener
כדי לדווח באופן אוטומטי על מדדים שנאספים באופן שתואם באופן מלא לצינור עיבוד הנתונים לדיווח של Tradefed.
הספרייה הזו לא תלויה ב-Tradefed עצמו, וניתן להשתמש בה בלי Tradefed.
אם אתם משתמשים ב-runner AndroidJUnitTest
מ-Tradefed, תוכלו לציין את אפשרות שורת הפקודה הבאה כדי להפעיל את האוסף יחד עם הבדיקות:
--device-listeners android.device.collectors.ScreenshotListener
LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib
הטמעה
כשמטמיעים מעל לכיתה הבסיסית BaseMetricListener
, אפשר לבחור מתי רוצים לאסוף את המדדים במהלך מחזור החיים של הכלי למדידת ביצועים:
- כשמתחילה הפעלת בדיקה:
onTestRunStart
- כשמקרה בדיקה מתחיל:
onTestStart
- כשמקרה בדיקה מסתיים:
onTestEnd
- כשמקרה בדיקה נכשל:
onTestFail
- בסיום הרצת בדיקה:
onTestRunEnd
אינטראקציה
איסוף המדדים בצד המכשיר מתבצע באופן סינכרוני עם ביצוע המדידה עצמה, והמדדים מועברים חזרה לתוצאות המדידה ומנותחים על ידי Tradefed כדי לדווח עליהם כחלק מהקריאה.