שימוש בבקרים של מודולים

כל מודול בחבילה (שנקבע על ידי 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>

הערה: אם אפשר, כדאי להטמיע את הבקרים באופן כללי כדי למקסם את האפשרות לשימוש חוזר. בנוסף, בעל המודול צריך לבדוק אם דילוג על מודול על סמך התנאי שלו הוא ההתנהגות המתאימה.