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

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

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