هنگام اجرای تستهای سمت دستگاه (به عنوان مثال، ابزار دقیق، تستهای خودکار UI)، جمعآورندههای سمت میزبان ممکن است ایدهآل نباشند، زیرا همگامسازی مجموعه متریک با آزمایشی که روی یک دستگاه اجرا میشود دشوار است. به عنوان مثال، یک اسکرین شات که به صورت ناهمزمان گرفته می شود، احتمالاً صفحه مورد نظر را از دست می دهد و بی فایده است.
برای پاسخگویی به این موارد استفاده، یک نسخه سمت دستگاه از مجموعههای ما وجود دارد و میتوان از آن در هر ابزار دقیق 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 تجزیه میشوند تا به عنوان بخشی از فراخوانی گزارش شوند.