मॉड्यूल नियंत्रकों को नियोजित करें

प्रत्येक सुइट मॉड्यूल ( 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); कार्यान्वयन।

विफलताओं पर कुछ लॉग एकत्र करना है या नहीं

पूर्ण सुइट चलाते समय, सुइट स्तर पर विफलताओं (स्क्रीनशॉट, बग्रेपोर्ट, लॉगकैट) पर कुछ लॉग के संग्रह का अनुरोध करना संभव है। लेकिन कुछ मॉड्यूल के लिए, अनुरोधित एक विशेष लॉग का कोई मूल्य नहीं हो सकता है और इसे एकत्र करने में समय बर्बाद होगा। उस स्थिति में, एक मॉड्यूल स्पष्ट रूप से निर्दिष्ट कर सकता है कि वे किस लॉग में रुचि रखते हैं:

<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>

नोट: पुन: प्रयोज्यता को अधिकतम करने के लिए यदि संभव हो तो नियंत्रकों का कार्यान्वयन सामान्य होना चाहिए। और किसी मॉड्यूल को छोड़ना उसकी स्थिति के आधार पर मॉड्यूल मालिक द्वारा समीक्षा की जानी चाहिए ताकि यह अनुमोदन प्राप्त किया जा सके कि मॉड्यूल को छोड़ना उनके लिए उचित व्यवहार है।