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, na podstawie 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 w przypadku 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. Przejście do następnego modułu na podstawie jego stanu powinno zostać zweryfikowane przez właściciela modułu, który powinien zatwierdzić, że przejście do następnego modułu jest dla niego właściwym działaniem.