این بخش، اجزای داخلی Tradefed و روابط آنها را شرح میدهد. برای جزئیات بیشتر به زیرصفحات مرتبط مراجعه کنید.
تنظیمات تست
پیکربندیهای تست در Tradefed در قالب XML شرح داده شدهاند. درک ساختار پیکربندی، کلید اجرا و سفارشیسازی تستها است.
ساختار پیکربندیهای TF
تنظیمات جهانی TF
یک فایل پیکربندی سراسری، یک پیکربندی XML ویژه Tradefed است که هنگام شروع Tradefed از طریق متغیر محیطی TF_GLOBAL_CONFIG بارگذاری میشود. این فایل، اشیاء مربوط به محدوده نمونه Tradefed را بارگذاری میکند که بر رفتار کلی مهار تأثیر میگذارد.
فروشگاه کلید
Keystore امکان تزریق گزینههای خط فرمان به Tradefed را از یک keystore فراهم میکند تا از ارجاع مستقیم به مقدار در خط فرمان جلوگیری شود. این قابلیت میتواند برای پنهان کردن رمزهای عبور از خط فرمان با بازیابی مستقیم رمزهای عبور از keystore استفاده شود.
مدیر دستگاه
مدیر دستگاه مسئول پیگیری وضعیت دستگاههای روی یک نمونه در حال اجرا از Tradefed است. جنبههایی مانند وضعیت تخصیص و وضعیت آنلاین بودن تحت نظارت قرار میگیرند.
زمانبندی فرمان تست
زمانبند فرمان تست در Tradefed، فرمانها را برای اجرا دریافت میکند، آنها را با دستگاهها مرتبط میسازد و یک فراخوانی تست را آغاز میکند.
ارائه دهنده ساخت
ارائه دهنده Build اولین مرحله از هر فراخوانی تست است. این ارائه دهنده منابع مورد نیاز برای تنظیم و اجرای تستها (تصاویر ساخت، APKهای تست و موارد دیگر) را دانلود میکند. همچنین آنها را در یک شیء BuildInfo که به تست ارسال میشود، ارجاع میدهد. منابع موجود در محل نیز میتوانند در شیء BuildInfo پیوند داده شوند.
آمادهکننده و تمیزکنندهی تارگت
آمادهساز هدف، اقدامات اختیاری را ارائه میدهد که میتوان برای پیکربندی هدف تحت آزمایش در یک حالت خاص انجام داد، به عنوان مثال فلش کردن دستگاه، تنظیم ویژگیهای خاص و اتصال به Wi-Fi.
اجراکنندهی تست
یک اجراکننده تست در Tradefed به شیء مسئول اجرای واقعی تست اشاره دارد. اجراکنندههای تست مختلف، اجرای تست را به روشهای مختلفی هدایت میکنند؛ برای مثال، یک اجراکننده تست Instrumentation با یک اجراکننده تست JUnit بسیار متفاوت خواهد بود.
گزارشگر نتایج
گزارشگر نتیجه در Tradefed به شیءای اشاره دارد که نتایج را به مقصد خاصی ارسال میکند. هر پیادهسازی معمولاً برای back-endهای مختلف نتیجه تخصصی شده است. و گزارشگر نتیجه مسئول تبدیل قالب نتایج Tradefed به قالب مقصد است.
این طراحی انعطافپذیر به هر آزمایشی اجازه میدهد تا به هر یک از مقاصد نتایج گزارش دهد و به راحتی آزمایشهای بیشتری را به صورت جداگانه اضافه کند.
گردآورنده معیارها
جمعکنندهی معیارها (Metrics collector) یک شیء خاص در Tradefed است که عمود بر اجرای تست میباشد. این شیء امکان جمعآوری اطلاعات در نقاط مختلف چرخه حیات تست (مثلاً شروع تست، پایان تست) را فراهم میکند. از آنجایی که جمعکننده از خود تست جدا شده است، نقاط را میتوان بدون نیاز به تغییر خود تست، جابجا، اضافه و حذف کرد.
راهاندازی در سطح میزبان
این بخش تنظیماتی را شرح میدهد که برای اجرای کامل یک نمونه Tradefed قابل اجرا هستند. این گزینهها بر رفتار کل سیستم کنترل تأثیر میگذارند تا با محیطهای مختلف، مثلاً قرار گرفتن در یک شبکه محدود، سازگار شوند.
ویژگیهای اضافی
بخشهای زیر کاربرد عمومی Tradefed را به جای اشیاء Tradefed شرح میدهند.
شاردینگ معاملهشده
وقتی مجموعه دادههای آزمایشی بزرگ است یا اجرای آن زمان زیادی میبرد، میتوان آن را بین چندین دستگاه تقسیم کرد. ما به این تقسیمبندی، شاردینگ (sharding) میگوییم. این بخش نحوه کار شاردینگ و نحوه پیکربندی آن را شرح میدهد.
استفاده از SL4A
Tradefed از لایه اسکریپتنویسی اندروید، SL4A، پشتیبانی میکند؛ این یک مجموعه ابزار اتوماسیون برای فراخوانی APIهای اندروید به شیوهای مستقل از پلتفرم است.
دانلود @option پویا
در برخی موارد، فایلهای مورد نیاز برای یک آزمایش یا عملیات خاص به صورت محلی در دسترس نیستند. این ویژگی به Tradefed اجازه میدهد تا این فایلها را از یک مکان دور و بدون مراجعه به ارائهدهنده ساخت دریافت کند.