टारगेट तैयार करने वाले टूल की तरह ही, एक से ज़्यादा टारगेट तैयार करने वाले टूल की मदद से, एक साथ कई डिवाइसों को सेटअप किया जा सकता है. उदाहरण के लिए, इसका इस्तेमाल टेस्टिंग के लिए, दो डिवाइसों को ब्लूटूथ से कनेक्ट करते समय किया जाएगा.
बेस इंटरफ़ेस
बुनियादी इंटरफ़ेस IMultiTargetPreparer
है. इसकी मदद से, setUp
का तरीका लागू किया जा सकता है. हमारा सुझाव है कि आप हमारी बुनियादी एब्स्ट्रैक्ट क्लास BaseMultiTargetPreparer
को लागू करें. इसमें, प्रिपरर को आसानी से बंद करने के लिए, डिसएबल करने की सुविधा पहले से मौजूद होती है.
एक से ज़्यादा टारगेट तैयार करने वाले, सीधे तौर पर किसी भी क्लीनअप ऑपरेशन के लिए tearDown
तरीका भी उपलब्ध कराते हैं.
सुझाव
हमारा सुझाव है कि हर व्यक्ति को एक ही मुख्य फ़ंक्शन के लिए सीमित किया जाए. इससे, तैयार किए गए सवालों को फिर से इस्तेमाल करना आसान हो जाता है.
नया प्रिपरर जोड़ने से पहले, उपलब्ध प्रिपरर की सूची भी देखें, ताकि डुप्लीकेट काम न हो. प्रिपरर, tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/
में उपलब्ध हैं.
मल्टी-टारगेट प्रिपरर, जितने चाहे उतने डिवाइस सेट अप कर सकता है. लागू करने के लिए, इंटरफ़ेस के IInvocationContext
में सभी डिवाइस उपलब्ध हैं.
एक्सएमएल कॉन्फ़िगरेशन
ऑब्जेक्ट टैग multi_target_preparer
है. उदाहरण के लिए:
<multi_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_target_preparer>
ऑपरेशन का क्रम
multi_target_preparer
,target_preparer
के बादsetUp
को लागू करता है.- टारगेट क्लीनर से पहले
multi_target_preparer
,tearDown
को लागू करता है.
इससे हमेशा सेटअप के सभी चरणों को पूरा नहीं किया जा सकता. इसलिए, एक्सएमएल में मल्टी-टारगेट प्रिपरर को multi_pre_target_preparer
के तौर पर तय किया जा सकता है और target_preparer
इंस्टेंस से पहले उसे लागू किया जा सकता है.
<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>
ऑपरेशन का पूरा क्रम इस तरह है:
multi_pre_target_preparer setUp
target_preparer setUp
multi_target_preparer setUp
multi_target_preparer tearDown
target_preparer tearDown
multi_pre_target_preparer tearDown
किसी भी मल्टी-टारगेट प्रिपरर को multi_target_preparer
या
multi_pre_target_preparer
के तौर पर घोषित किया जा सकता है. यह इस बात पर निर्भर करता है कि सेटअप का क्रम क्या है.