هنگام اجرای آزمایشهای سمت دستگاه (ابزارها، آزمایشهای خودکار UI، و غیره)، جمعآورندههای سمت میزبان ممکن است ایدهآل نباشند، زیرا همگامسازی مجموعه متریک با آزمایشی که روی دستگاه اجرا میشود دشوار است. به عنوان مثال، اسکرین شات گرفته شده به صورت ناهمزمان به احتمال زیاد صفحه مورد نظر را از دست می دهد و بی فایده خواهد بود.
به منظور پاسخگویی به این موارد استفاده، یک نسخه سمت دستگاه از مجموعههای ما وجود دارد و میتوان از آن در هر ابزار دقیق «AndroidJUnitRunner» استفاده کرد. BaseMetricListener را می توان به منظور گزارش خودکار معیارهایی که به روشی کاملاً سازگار با خط لوله گزارش Tradefed جمع آوری می شوند، پیاده سازی کرد.
این کتابخانه از خود Tradefed جدا شده است و بدون Tradefed قابل استفاده است.
اگر از رانر « AndroidJUnitTest » از Tradefed استفاده میکنید، میتوانید به سادگی گزینه خط فرمان زیر را مشخص کنید تا کلکتور شما با آزمایشهای شما اجرا شود:
--device-listeners android.device.collectors.ScreenshotListener
LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib
پیاده سازی
هنگام پیاده سازی در بالای کلاس پایه BaseMetricListener
، می توانید انتخاب کنید که چه زمانی می خواهید معیارهای خود را در طول چرخه عمر ابزار دقیق جمع آوری کنید:
- هنگامی که یک اجرای آزمایشی شروع می شود:
onTestRunStart
- هنگامی که یک مورد آزمایشی شروع می شود:
onTestStart
- وقتی یک مورد آزمایشی به پایان می رسد:
onTestEnd
- هنگامی که یک مورد آزمایشی با شکست مواجه می شود:
onTestFail
- هنگامی که یک اجرای آزمایشی به پایان می رسد:
onTestRunEnd
تعامل
مجموعه معیارها در سمت دستگاه به طور همزمان با خود اجرای ابزار دقیق ساخته میشود و معیارها به نتایج ابزار دقیق ارسال میشوند و توسط Tradefed تجزیه میشوند تا به عنوان بخشی از فراخوانی گزارش شوند.