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.