Menggunakan pengontrol modul

Setiap modul rangkaian pengujian (ditentukan 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 menerapkan BaseModuleController dan menambahkannya ke AndroidTest.xml seperti ini:

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

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

Apakah akan mengumpulkan beberapa log atau tidak saat terjadi kegagalan

Saat menjalankan rangkaian lengkap, Anda dapat meminta di tingkat rangkaian pengumpulan beberapa log saat terjadi kegagalan (screenshot, laporan bug, logcat). Namun, untuk beberapa modul, log tertentu yang diminta mungkin tidak memiliki nilai dan hanya membuang-buang waktu untuk dikumpulkan. Dalam situasi tersebut, modul dapat secara eksplisit menentukan log yang diinginkannya:

<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: Penerapan pengontrol harus bersifat umum jika memungkinkan untuk memaksimalkan penggunaan ulang. Dan melewati modul berdasarkan kondisinya harus ditinjau oleh pemilik modul untuk mendapatkan persetujuan bahwa melewati modul adalah perilaku yang tepat bagi mereka.