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.