मॉड्यूल कंट्रोलर का इस्तेमाल करें

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>

ध्यान दें: अगर हो सके, तो कंट्रोलर को सामान्य तौर पर लागू किया जाना चाहिए, ताकि उन्हें फिर से इस्तेमाल करने की संभावना बढ़ाई जा सके. साथ ही, इसकी स्थिति के आधार पर किसी मॉड्यूल को स्किप करना, मॉड्यूल के मालिक से यह अनुमति लेने के लिए ज़रूरी है कि मॉड्यूल को स्किप करना उनके लिए सही तरीका है.