توظيف وحدات التحكم

يمكن أن تحتوي كل وحدة مجموعة (محددة بواسطة 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>

ملاحظة: يجب أن يكون تنفيذ وحدات التحكم عامًا إن أمكن لتحقيق أقصى قدر من إمكانية إعادة الاستخدام. وتخطي الوحدة بناءً على حالتها يجب أن تتم مراجعته من قبل مالك الوحدة للحصول على الموافقة على أن تخطي الوحدة هو السلوك المناسب له.