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