آماده کننده های چند هدف

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

رابط پایه

رابط پایه 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 اعلام کرد.