آماده‌کنندگان چندهدف

مشابه با آماده‌ساز هدف، آماده‌ساز چندهدف به شما امکان می‌دهد چند دستگاه را باهم راه‌اندازی کنید. برای مثال، این مورد هنگام اتصال دو دستگاه با بلوتوث برای آزمایش استفاده می‌شود.

میانای پایه

میانای پایه IMultiTargetPreparer است، که اجازه می‌دهد روش setUp برای اجرا پیاده‌سازی شود. توصیه می‌کنیم کلاس انتزاعی پایه ما را BaseMultiTargetPreparer پیاده‌سازی کنید که ویژگی غیرفعال‌سازی داخلی را برای غیرفعال کردن آسان آماده‌کننده ارائه می‌دهد.

آماده‌سازهای چندهدفی همچنین مستقیماً روش tearDown را برای هرگونه عملیات پاک‌سازی ارائه می‌دهند.

توصیه

توصیه می‌کنیم هر آماده‌کننده را به یک عملکرد اصلی محدود کنید. این کار امکان استفاده مجدد آسان‌تر از آماده‌کنندگان را فراهم می‌کند.

همچنین قبل‌از افزودن آماده‌کننده جدید، فهرست آماده‌کننده‌های موجود را بررسی کنید تا از تکرار کار جلوگیری شود. آماده‌کنندگان در tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/ دردسترس هستند.

محدودیتی برای تعداد دستگاه‌هایی که آماده‌ساز چندهدفی می‌تواند راه‌اندازی کند وجود ندارد. همه دستگاه‌ها در IInvocationContext رابط برای پیاده‌سازی دردسترس هستند.

پیکربندی XML

برچسب شیء multi_target_preparer است، برای مثال:

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

ترتیب عملیات

  1. ‫multi_target_preparer setUp را پس‌از target_preparer اجرا می‌کند.
  2. ‫multi_target_preparer tearDown را قبل‌از پاک‌کننده‌های هدف اجرا می‌کند.

این کار همیشه اجازه نمی‌دهد همه مراحل راه‌اندازی اجرا شود، بنابراین می‌توان در XML تعریف کرد که آماده‌کننده چندهدف به‌عنوان multi_pre_target_preparer تعریف شود و قبل‌از نمونه‌های target_preparer اجرا شود.

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

ترتیب کلی عملیات به‌صورت زیر است:

  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

هر آماده‌کننده چندهدفه می‌تواند بسته به ترتیب موردنیاز برای راه‌اندازی، به‌عنوان multi_target_preparer یا multi_pre_target_preparer اعلام شود.