כל מודול חבילה (מוגדר על ידי 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>
הערה: אם אפשר, כדאי להטמיע את הבקרים באופן כללי כדי למקסם את האפשרות לשימוש חוזר. בנוסף, בעל המודול צריך לבדוק אם דילוג על מודול על סמך התנאי שלו הוא ההתנהגות המתאימה.