Tương tự như trình chuẩn bị mục tiêu, trình chuẩn bị nhiều mục tiêu cho phép thiết lập nhiều thiết bị cùng một lúc. Ví dụ: tính năng này sẽ được dùng khi kết nối hai thiết bị bằng Bluetooth để kiểm thử.
Giao diện cơ sở
Giao diện cơ sở là IMultiTargetPreparer
, cho phép triển khai phương thức setUp
để thực thi. Bạn nên triển khai lớp trừu tượng cơ bản BaseMultiTargetPreparer
. Lớp này cung cấp tính năng tắt tích hợp để dễ dàng tắt trình chuẩn bị.
Trình chuẩn bị nhiều mục tiêu cũng trực tiếp cung cấp phương thức tearDown
cho mọi thao tác dọn dẹp.
Nội dung đề xuất
Bạn nên giới hạn mỗi trình chuẩn bị ở một hàm chính. Điều này cho phép tái sử dụng trình chuẩn bị dễ dàng hơn.
Ngoài ra, hãy kiểm tra danh sách trình chuẩn bị có sẵn trước khi thêm trình chuẩn bị mới để tránh trùng lặp công việc. Trình chuẩn bị có trong
tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/
.
Không có giới hạn về số lượng thiết bị mà trình chuẩn bị nhiều mục tiêu có thể thiết lập. Tất cả thiết bị đều có trong IInvocationContext
của giao diện để triển khai.
Cấu hình XML
Thẻ đối tượng là multi_target_preparer
, ví dụ:
<multi_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_target_preparer>
Thứ tự thao tác
multi_target_preparer
thực thisetUp
sautarget_preparer
.multi_target_preparer
thực thitearDown
trước trình dọn dẹp mục tiêu.
Điều này không phải lúc nào cũng cho phép thực hiện tất cả các bước thiết lập, vì vậy, bạn có thể xác định trình chuẩn bị nhiều mục tiêu là multi_pre_target_preparer
trong tệp XML và thực thi trình chuẩn bị đó trước các thực thể target_preparer
.
<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>
Thứ tự thao tác tổng thể như sau:
multi_pre_target_preparer setUp
target_preparer setUp
multi_target_preparer setUp
multi_target_preparer tearDown
target_preparer tearDown
multi_pre_target_preparer tearDown
Bạn có thể khai báo bất kỳ trình chuẩn bị nhiều mục tiêu nào dưới dạng multi_target_preparer
hoặc multi_pre_target_preparer
tuỳ thuộc vào thứ tự thiết lập bắt buộc.