Używaj kontrolerów modułów

Każdy moduł pakietu (zdefiniowany przez AndroidTest.xml) może zawierać specjalny obiekt module_controller, który może zmieniać niektóre zachowania modułu:

Czy uruchomić moduł, czy nie, w zależności od pewnych warunków

Wdroż BaseModuleController i dodaj go do AndroidTest.xml w ten sposób:

<object type="module_controller" class="com.android.tradefed.testtype.suite.module.<NAME>" />

Kontroler modułu będzie używany do określania, czy moduł powinien być uruchomiony, na podstawie implementacji public abstract RunStrategy shouldRun(IInvocationContext context);.

Określa, czy w przypadku błędów mają być zbierane niektóre dzienniki.

Podczas uruchamiania pełnego zestawu można na poziomie zestawu poprosić o zbieranie niektórych dzienników dotyczących błędów (zrzut ekranu, raport o błędzie, logcat). W przypadku niektórych modułów żądany dziennik może nie mieć żadnej wartości i będzie po prostu marnował czas na jego zbieranie. W takim przypadku moduł może wyraźnie określić, które logi go interesują:

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

UWAGA: aby zmaksymalizować możliwość ponownego użycia, sterowniki powinny być w miarę możliwości uniwersalne. Ominnięcie modułu na podstawie jego stanu powinno zostać sprawdzone przez właściciela modułu, aby uzyskać potwierdzenie, że pominięcie modułu jest właściwym działaniem.