Gunakan Pengontrol Modul

Setiap modul suite (didefinisikan oleh AndroidTest.xml ) dapat berisi objek module_controller khusus yang dapat mengubah beberapa perilaku modul:

Apakah akan menjalankan modul atau tidak berdasarkan beberapa kondisi

Dengan mengimplementasikan BaseModuleController dan menambahkannya ke AndroidTest.xml seperti ini:

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

Kontroler modul akan digunakan untuk menentukan apakah modul harus dijalankan atau tidak, berdasarkan public abstract RunStrategy shouldRun(IInvocationContext context); penerapan.

Apakah akan mengumpulkan beberapa log atau tidak pada kegagalan

Saat menjalankan rangkaian lengkap, dimungkinkan untuk meminta pada tingkat rangkaian kumpulan beberapa log yang gagal (tangkapan layar, laporan bug, logcat). Tetapi untuk beberapa modul, log tertentu yang diminta mungkin tidak memiliki nilai apa pun dan hanya akan membuang waktu untuk dikumpulkan. Dalam situasi itu, sebuah modul dapat secara eksplisit menentukan log mana yang mereka minati:

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

CATATAN: Implementasi pengontrol harus generik jika memungkinkan untuk memaksimalkan penggunaan kembali. Dan melewatkan modul berdasarkan kondisinya harus ditinjau oleh pemilik modul untuk mendapatkan persetujuan bahwa melewatkan modul adalah perilaku yang tepat bagi mereka.