Người chuẩn bị nhiều mục tiêu

Tương tự như người 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 nhau. Ví dụ: mã này sẽ được sử dụng khi kết nối 2 thiết bị bằng Bluetooth để kiểm tra.

Giao diện cơ sở

Giao diện cơ sở là IMultiTargetPreparer! cho phép triển khai phương thức setUp được thực thi. Bạn nên triển khai lớp trừu tượng cơ bản BaseMultiTargetPreparer! Cung cấp tính năng vô hiệu hoá được tích hợp sẵn để dễ dàng tắt mộ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 để dọn dẹp hoạt động.

Nội dung đề xuất

Mỗi trình chuẩn bị chỉ nên có một hàm chính duy nhất. Điều này cho phép để người chuẩn bị dễ dàng sử dụng lại.

Đồng thời, hãy kiểm tra danh sách những người chuẩn bị sẵn có trước khi thêm người chuẩn bị mới, để tránh lặp lại công việc. Danh sách người 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à một người chuẩn bị nhiều mục tiêu có thể thiết lập. Tất cả các thiết bị có sẵn trong IInvocationContext của để 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ự hoạt động

  1. multi_target_preparer thực thi setUp sau target_preparer.
  2. multi_target_preparer thực thi tearDown trước trình làm sạch mục tiêu.

Điều này không phải lúc nào cũng mang lại hiệu suất của tất cả các bước thiết lập, do đó có thể trong XML để định nghĩa trình chuẩn bị nhiều mục tiêu là multi_pre_target_preparer và thực thi trước thực thể target_preparer.

<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>

Thứ tự hoạt động chung như sau:

  1. multi_pre_target_preparer setUp
  2. target_preparer setUp
  3. multi_target_preparer setUp
  4. multi_target_preparer tearDown
  5. target_preparer tearDown
  6. 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 là multi_target_preparer hoặc multi_pre_target_preparer tuỳ thuộc vào thứ tự thiết lập được yêu cầu.