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