هر ماژول مجموعه (تعریف شده توسط AndroidTest.xml
) می تواند حاوی یک شی module_controller
خاص باشد که می تواند برخی از رفتار ماژول را تغییر دهد:
این که آیا ماژول بر اساس برخی شرایط اجرا شود یا نه
با پیاده سازی BaseModuleController و اضافه کردن آن به AndroidTest.xml
به این صورت:
<object type="module_controller" class="com.android.tradefed.testtype.suite.module.<NAME>" />
کنترلر ماژول برای تعیین اینکه آیا ماژول باید اجرا شود یا نه، بر اساس public abstract RunStrategy shouldRun(IInvocationContext context);
اجرا
آیا برای جمع آوری برخی از سیاهههای مربوط یا نه در شکست
هنگام اجرای یک مجموعه کامل، میتوانید در سطح مجموعه درخواست جمعآوری برخی از گزارشهای مربوط به خرابیها (عکس از صفحه، باگرپورت، logcat) را داشته باشید. اما برای برخی از ماژول ها، یک گزارش خاص درخواست شده ممکن است ارزشی نداشته باشد و صرفاً زمان را برای جمع آوری تلف کند. در آن شرایط، یک ماژول میتواند به صراحت مشخص کند که به کدام گزارشها علاقه دارد:
<object type="module_controller"
class="com.android.tradefed.testtype.suite.module.TestFailureModuleController">
<option name="screenshot-on-failure" value="<true OR false>" />
<option name="bugreportz-on-failure" value="<true OR false>" />
<option name="logcat-on-failure" value="<true OR false>" />
</object>
توجه: اجرای کنترلرها باید در صورت امکان عمومی باشد تا قابلیت استفاده مجدد را به حداکثر برساند. و پرش از یک ماژول بر اساس شرایط آن باید توسط صاحب ماژول بررسی شود تا تأیید شود که پرش از یک ماژول رفتار مناسب برای آنهاست.