যে টেস্ট লেভেলে টার্গেট প্রিপেয়ারারগুলো সংজ্ঞায়িত করা হয়েছে, সেই লেভেলের টেস্টগুলো শুরু হওয়ার আগে সেগুলোকে আহ্বান করা হয়। এর ফলে যেকোনো ডিভাইসের সেটআপের মাধ্যমে টেস্টগুলো নির্বিঘ্নে চালানো সম্ভব হয়।
বেস ইন্টারফেস
বেস ইন্টারফেসটি হলো ITargetPreparer , যা একটি setUp মেথড এক্সিকিউট করার সুযোগ দেয়। আমরা আমাদের বেসিক অ্যাবস্ট্রাক্ট ক্লাস BaseTargetPreparer ইমপ্লিমেন্ট করার পরামর্শ দিই, যা একটি প্রিপারারকে সহজে নিষ্ক্রিয় করার জন্য একটি বিল্ট-ইন ডিসেবলমেন্ট ফিচার প্রদান করে।
ক্লিনার ইন্টারফেস
setUp এর স্বাভাবিক সম্প্রসারণ হলো tearDown এবং এটি ITargetCleaner একটি ভিন্ন ইন্টারফেসের মাধ্যমে সরবরাহ করা হয়। এটি tearDown ইন্টারফেসটি প্রদান করে, যা টেস্ট সম্পাদনের পরে setUp এ করা যেকোনো কিছু পরিষ্কার করার সুযোগ দেয়।
BaseTargetPreparer ক্লাসটিও ITargetCleaner এক্সটেন্ড করে।
সুপারিশসমূহ
আমরা সুপারিশ করি যে প্রতিটি প্রিপারার যেন একটিমাত্র প্রধান কাজের মধ্যে সীমাবদ্ধ থাকে, যেমন একটি APK ইনস্টল করা বা কোনো কমান্ড চালানো। এর ফলে প্রিপারারগুলো আরও সহজে পুনঃব্যবহার করা যায়।
কাজের পুনরাবৃত্তি এড়াতে নতুন কোনো প্রিপেয়ারার যোগ করার আগে উপলব্ধ প্রিপেয়ারারদের তালিকাও দেখে নিন। প্রিপেয়ারারগুলো tools/tradefederation/core/src/com/android/tradefed/targetprep/ -এ পাওয়া যায়।
এক্সএমএল কনফিগারেশন
অবজেক্ট ট্যাগটি হলো target_preparer , উদাহরণস্বরূপ:
<target_preparer class="com.android.tradefed.targetprep.InstallApkSetup">
<option name="install-arg" value="-d"/>
</target_preparer>
প্রাসঙ্গিকতার জন্য ‘সেট আপ স্যুটস’ অংশটিও দেখুন।
শীর্ষ-স্তরের সেটআপ
শীর্ষ-স্তরের সেটআপে নির্দিষ্ট করা থাকলে, প্রিপারার প্রতিটি ডিভাইসের জন্য কেবল একবারই চলে। এর একটি উদাহরণ হলো cts-common.xml , যা অ্যান্ড্রয়েড কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) টেস্টের জন্য একটি শীর্ষ-স্তরের সেটআপ।
মডিউল-স্তরের সেটআপ
মডিউল স্তরে নির্দিষ্ট করা থাকলে, প্রিপারার সর্বদা সেই মডিউলের আগে চলে। একটি উদাহরণ হলো backup/AndroidTest.xml , যা নির্ধারণ করে ট্রেডফেড কীভাবে backup CTS মডিউলটি চালায়।
উল্লেখ্য যে, প্রিপারারটি মডিউলের আগে চললেও, এটি যেকোনো সিস্টেম স্ট্যাটাস চেকারের পরে চলে।