Chuẩn bị đa mục tiêu

Tương tự như trình chuẩn bị mục tiêu , trình chuẩn bị đa mục tiêu cho phép thiết lập nhiều thiết bị cùng nhau. Ví dụ: điều này sẽ được sử dụng khi kết nối hai thiết bị bằng Bluetooth để thử nghiệm.

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. Chúng tôi khuyên 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 vô hiệu hóa tích hợp để dễ dàng vô hiệu hóa trình chuẩn bị.

Trình chuẩn bị đa mục tiêu cũng trực tiếp cung cấp phương pháp tearDown cho bất kỳ hoạt động dọn dẹp nào.

Sự giới thiệu

Chúng tôi khuyên bạn nên giới hạn mỗi trình chuẩn bị ở một chức năng chính duy nhất. Điều này cho phép tái sử dụng dễ dàng hơn những người chuẩn bị.

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

Trình tự vận hành

  1. multi_target_preparer thực thi setUp sau target_preparer .
  2. multi_target_preparer thực thi tearDown 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, do đó, trong XML có thể xác định trình chuẩn bị đa mục tiêu là multi_pre_target_preparer và thực thi nó trước các phiên bản target_preparer .

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

Trình tự thao tác 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ất kỳ trình chuẩn bị đa mục tiêu nào cũng có thể được khai báo là multi_target_preparer hoặc multi_pre_target_preparer tùy thuộc vào thứ tự thiết lập được yêu cầu.