هنگام اجرای آزمایشهای سمت دستگاه (برای مثال، ابزارها، آزمایشهای UI Automator)، ممکن است گردآورندههای سمت میزبان ایدهآل نباشند زیرا همگامسازی گردآوری سنجه با آزمایشی که در دستگاه اجرا میشود دشوار است. برای مثال، نماگرفتی که بهصورت ناهمزمان گرفته میشود احتمالاً صفحه موردنظر را ازدست میدهد و بیفایده خواهد بود.
برای برآورده کردن این موارد استفاده، نسخهای از جمعآورندگان ما در سمت دستگاه وجود دارد
و میتوان از آن در هر ابزار 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
تعامل
The collection of metrics on the device side is made synchronously to the instrumentation execution itself, and metrics are passed back to the instrumentation results and parsed by Tradefed to be reported as part of the invocation.