OmniLab ATS یک ابزار آزمایشی است که توسعه دهندگان اندروید و مهندسان آزمایش می توانند از آن برای استفاده از یک رابط کاربری برای اجرای مجموعه های تست استاندارد اندروید، مانند مجموعه تست سازگاری اندروید (CTS) استفاده کنند. این ابزار بهعنوان یک رابط وب برای چارچوبهای آزمایشی مختلف مانند Trade Federation (TF) و Google Mobly عمل میکند و به شما امکان میدهد تا آزمایشهای CTS و چند دستگاهی را روی مجموعهای از دستگاههای آزمایشی با حداقل تنظیمات اجرا کنید، و همچنین یک برنامه زمانبندی برای آنها ایجاد کنید. به طور مداوم تست ها را اجرا کنید
OmniLab ATS را راه اندازی کنید
این بخش نحوه نصب و راه اندازی OmniLab ATS را توضیح می دهد.
OmniLab ATS از کد منبع از این مکان ها استفاده می کند:
- کد منبع OmniLab ATS
- کد منبع TradeFed Cluster
OmniLab ATS را نصب کنید
برای مجموعههای آزمایشی که اجرا میکنید، از الزامات سختافزاری و نرمافزاری پیروی کنید.
الزامات CTS در source.android.com یافت می شود.
هیچ نیاز سخت افزاری اضافی برای OmniLab ATS وجود ندارد، اما توصیه می کنیم از نیاز میزبان CTS به عنوان نقطه شروع استفاده کنید.
دو راه برای نصب OmniLab ATS وجود دارد:
- برنامه نصب کننده را اجرا کنید.
- آن را به صورت دستی نصب کنید ، که نیاز به نصب چندین برنامه و منابع دارد.
با برنامه نصب کننده نصب کنید
در اوبونتو 20.04+، برنامه نصب کننده تمام برنامه ها و منابع مورد نیاز برای اجرای OmniLab ATS را نصب و پیکربندی می کند.
برای استفاده از برنامه نصب:
برنامه نصب کننده را اجرا کنید:
curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
mtt version
اجرا کنید تا نسخه نصب شده OmniLab ATS CLI را بررسی کنید.
به صورت دستی نصب کنید
Docker را نصب کنید
دستورالعملهای نصب Docker Community Edition (CE) را روی دستگاه لینوکس خود دنبال کنید.
برای مدیریت Docker به عنوان یک کاربر غیر ریشه، مراحل پس از نصب را دنبال کنید.
ممکن است لازم باشد پنجره ترمینال خود را مجددا راه اندازی کنید یا از سیستم خارج شوید و دوباره وارد سیستم شوید تا تغییرات مجوز اعمال شوند.
پایتون 3 را نصب کنید
OmniLab ATS CLI با نسخه های 3.7 تا 3.11 پایتون تأیید شده است.
برای اوبونتو 16.04 یا قبل از آن، ابتدا با انجام یکی از موارد زیر، مخزن پایتون 3 را اضافه کنید:
این دستور را اجرا کنید:
sudo add-apt-repository ppa:deadsnakes/ppa
مخزن را از منبع بسازید و نصب کنید.
برای نصب پایتون 3 این دستورات را اجرا کنید:
sudo apt-get update
sudo apt install python3 python3-distutils
برای نصب یک نسخه خاص پایتون 3 (مثلاً 3.10)، این دستورات را به جای آن اجرا کنید:
sudo apt-get update
sudo apt install python3.10 python3.10-distutils
OmniLab ATS CLI را دریافت کنید
بسته رابط خط فرمان (CLI) را از اینجا دانلود کنید.
OmniLab ATS را راه اندازی کنید
OmniLab ATS را با دستور زیر شروع کنید:
mtt start
اولین باری که رابط کاربری شروع می شود، ممکن است چند دقیقه طول بکشد تا ظاهر شود. CLI یک URL وب برای دسترسی به UI در مرورگر نمایش می دهد. بهطور پیشفرض، URL وب سایت localhost:8000
است. در صورت نیاز، می توانید پورت پیش فرض را هنگام راه اندازی با پرچم --port
تغییر دهید.
اگر نسخه جدیدتری موجود است، می توانید به نسخه فعلی به روز رسانی کنید. برای آخرین نسخه ها می توانید یادداشت های انتشار را بررسی کنید.
برای به روز رسانی به نسخه فعلی، اجرا کنید:
mtt start --force_update
برای متوقف کردن برنامه، اجرا کنید:
mtt stop
برای مشاهده لیستی از دستورات دیگر، از:
mtt --help
از پایگاه داده بک آپ بگیرید و بازیابی کنید
برای تهیه نسخه پشتیبان از پایگاه داده OmniLab ATS، برنامه را متوقف کنید و دستور زیر را اجرا کنید، که از پایگاه داده فعلی در یک فایل TAR به نام mtt-backup.tar
در فهرست اصلی شما نسخه پشتیبان تهیه می کند:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."
برای بازیابی، قبل از شروع برنامه، دستور زیر را اجرا کنید:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"
Setup Wizard
پس از نصب و اجرای OmniLab ATS برای اولین بار، Setup Wizard شما را طی چند مرحله راهنمایی می کند تا به شما کمک کند ابزار را برای محیط خود سفارشی کنید. هر تغییری که در اینجا ایجاد میکنید را میتوانید بعداً از طریق صفحه تنظیمات پیکربندی مجدد کنید.
یک نسخه پشتیبان از پیکربندی را بازیابی کنید
اگر از یک فایل پیکربندی پشتیبانگیری شده از میزبان OmniLab ATS دیگری دارید، میتوانید فایل را برای کپی کردن تنظیمات اصلاح شده از آن میزبان با کلیک بر روی دکمه آپلود فایل آپلود کنید.
شکل 1. بازیابی یک نسخه پشتیبان از پیکربندی.
حساب سرویس پیش فرض را تنظیم کنید
میتوانید حساب سرویسی را تنظیم کنید که OmniLab ATS بهطور پیشفرض هنگام دسترسی به منابع خود (به عنوان مثال، Google Cloud Storage، Google Drive) استفاده میکند. برای احراز هویت حساب سرویس خود، روی Upload Service Account Key کلیک کنید و فایل کلید JSON حساب سرویس خود را انتخاب کنید.
شکل 2. تنظیم حساب خدمات.
هنگامی که حساب سرویس با موفقیت تأیید شد، آدرس ایمیل حساب در گوشه سمت راست بالای صفحه ظاهر می شود. برای تغییر حساب سرویس، روی نام حساب کلیک کنید، حساب پیشفرض فعلی را حذف کنید و یک کلید حساب سرویس جدید آپلود کنید.
شکل 3. تغییر حساب سرویس.
وارد کردن مجموعه های پیکربندی
مجموعه پیکربندی مجموعهای از تنظیمات برای اجرای مجموعههای آزمایشی، از جمله اقدامات مربوط به دستگاه، و ساخت کانالها است. مجموعههای پیکربندی در یک سطل خاص Google Cloud Storage (GCS) میزبانی میشوند. پس از احراز هویت کانال ساخت GCS با حساب Google خود، لیستی از تمام مجموعه های پیکربندی که در دسترس شما هستند را مشاهده می کنید.
هر مجموعه پیکربندی را که میخواهید به میزبان ایستگاه آزمایشی خود اضافه کنید انتخاب کنید و روی Import Selected کلیک کنید.
شکل 4. وارد کردن یک مجموعه پیکربندی.
شامل تنظیمات Wi-Fi
برخی از آزمایشات CTS نیازمند اتصال دستگاه شما به نقطه اتصال Wi-Fi هستند. برای انتخاب شبکه Wi-Fi خود، SSID WiFi و WiFi PSK اختیاری را وارد کنید.
شکل 5. تنظیمات نقطه اتصال Wi-Fi.
پس از تکمیل Setup Wizard، صفحه با اعمال تنظیمات جدید بارگیری مجدد می شود.
یک دستگاه را وصل کنید
برای استفاده از دستگاه برای آزمایش، اشکال زدایی USB باید فعال باشد. برای فعال کردن اشکال زدایی:
دستورالعملهای موجود در Enable developer options and debugging را دنبال کنید.
اگر قصد دارید از ساختهای آزمایشی Android استفاده کنید که از قبل با کلیدهای ADB سفارشی بارگذاری شدهاند، فایلهای سفارشی
.adb_key
را در فهرست~/.android/
قرار دهید.فایلها بهطور خودکار بارگیری میشوند و به ADB منتقل میشوند تا پس از فلش شدن دستگاه برای دستگاههایی که این بیلدها را اجرا میکنند، اشکالزدایی USB را به طور خودکار فعال کند.
دستگاه را با استفاده از USB به دستگاه میزبان متصل کنید.
دستگاه ظرف یک دقیقه پس از تازهسازی رابط وب در برگه دستگاههای OmniLab ATS ظاهر میشود. همچنین می توانید وضعیت دستگاه ها را در این تب مشاهده کنید.
شکل 6. اتصال یک دستگاه.
حالت های مختلف دستگاه عبارتند از:
- موجود - دستگاه متصل است و آماده اجرای آزمایش است.
- اختصاص داده شده - دستگاه متصل است و در حال انجام آزمایش است. هر دستگاه میتواند تنها یک آزمایش را در یک زمان اجرا کند، بنابراین دستگاه باید قبل از اجرای آزمایش جدید، آزمایش فعلی خود را به پایان برساند.
یک آزمایش اجرا کنید
یک آزمون را انتخاب کنید
OmniLab ATS با مجموعه ای از تنظیمات CTS از پیش همراه است. برای اجرای یکی از این تست ها، به تب Test Suites رفته و برای تست انتخاب شده روی Run test کلیک کنید.
شکل 7. انتخاب یک آزمون.
برای ویرایش یا افزودن تستهای جدید، به افزودن تستها مراجعه کنید.
اجرای آزمایشی را پیکربندی کنید
پارامترها را برای استفاده برای این اجرای آزمایشی خاص ویرایش کنید. بیشتر پارامترها با مقادیر تعریف شده در پیکربندی تست انتخاب شده از قبل پر شده اند.
این مرحله را میتوان با استفاده از مقادیر پیشفرض تکمیل کرد، اما میتوانید هر یک از پارامترها مانند Max Retry و Command را متناسب با نیاز خود تغییر دهید.
شکل 8. پیکربندی اجرای آزمایشی.
پارامترهای اجرای آزمایشی عبارتند از:
- نام - نام مجموعه آزمایشی که می خواهید اجرا کنید.
- تعداد اجرا - تعداد دفعاتی که این اجرای آزمایشی باید در زمان برنامهریزی اجرا شود. اجرای آزمایشی با استفاده از Trade Federation برنامهریزی میشود که در صورت وجود ظرفیت، حداکثر 20 اجرای آزمایشی را به صورت موازی اجرا میکند.
- حداکثر تلاش مجدد - حداکثر تعداد دفعات امتحان مجدد یک آزمایش در صورت عدم موفقیت حداقل یک آزمایش. این معمولاً روی 4 تا 6 بار تکرار برای اجرای کامل CTS تنظیم می شود تا آزمایش های پوسته پوسته انجام شود.
- مدت زمان صف - اگر اجرای آزمایشی برای مدت طولانی در حالت صف باقی بماند، به طور خودکار لغو می شود. مدت زمان انتظار قبل از لغو را در اینجا مشخص کنید. پیش فرض 24 ساعت است.
Command - فرمان اجرای مجموعه آزمایشی. می توانید آرگومان های اضافی خط فرمان را در اینجا وارد کنید. به عنوان مثال، یک ماژول خاص را در CTS 8.1 با استفاده از:
cts-suite -m ShortModuleName
Retry Command - فرمان برای امتحان مجدد یک مجموعه آزمایشی. می توانید آرگومان های خط فرمان اضافی را در اینجا اضافه کنید. به عنوان مثال، برای امتحان مجدد فقط یک ماژول خاص در CTS 8.1، از موارد زیر استفاده کنید:
cts --retry 0 -m ShortModuleName
آرگومانهای امتحان مجدد ممکن است با آرگومانهای موجود با دستور اولیه متفاوت باشند، بنابراین پارامترهای پشتیبانیشده در سایت رسمی مجموعه آزمایشی انتخابی را بررسی کنید.
اجرای آزمایشی قبلی - اگر می خواهید یک آزمایش قبلی را دوباره اجرا کنید:
محلی - اگر اجرا در میزبان فعلی شروع شده است، شناسه اجرای آزمایشی را که هنگام مشاهده جزئیات اجرای آزمایشی مشاهده می شود، وارد کنید.
شکل 9. اجرای آزمایشی قبلی محلی.
Remote - اگر اجرا روی میزبان دیگری شروع شده است، فایل نتایج آزمایش را با انتخاب Remote آپلود کنید، روی Upload Test Results File کلیک کنید و یک فایل را از حافظه محلی خود انتخاب کنید.
شکل 10. اجرای آزمایشی قبلی از راه دور.
دستگاه ها را انتخاب کنید
برای انتخاب دستگاههایی که برای اجرای مجموعه آزمایشی اختصاص داده میشوند، روی کادرهای تأیید کلیک کنید. تعداد قطعات باید به طور خودکار تغییر کند تا با تعداد دستگاه های انتخاب شده مطابقت داشته باشد.
شکل 11. انتخاب دستگاه ها.
برای انتخاب دستگاهها با ویژگیهایی غیر از سریالهای دستگاه، میتوانید به صورت دستی «مشخصات دستگاه» را وارد کنید. به عنوان مثال، برای انتخاب 3 دستگاه که نام محصول آنها "bramble" است، موارد زیر را وارد کنید:
product:bramble;product:bramble;product:bramble
ویژگی های پشتیبانی شده عبارتند از:
- build_id
- دستگاه_سریال
- دستگاه_نوع
- نام میزبان
- محصول
- محصول_نوع
- sim_state
همه دستگاههای انتخابشده باید در حالت Available باشند تا اجرای آزمایشی را اجرا کنند و همه آنها هنگام اجرای آزمایشی به حالت Allocated سوئیچ میکنند. اجرای آزمایشی در حالت صف قرار دارد در حالی که منتظر در دسترس قرار گرفتن دستگاهها است.
اقدامات دستگاه را اضافه کنید
اقدامات دستگاه اسکریپت هایی هستند که می توانند قبل از هر آزمایش اجرا شوند. برخی از اقدامات دستگاه از قبل پیکربندی شده اند، مانند چشمک زدن و راه اندازی مجدد. برای ایجاد کنشهای دستگاه جدید، به ایجاد عملکرد دستگاه جدید مراجعه کنید.
شکل 12. اقدامات دستگاه.
برای افزودن یک کنش دستگاه به اجرای آزمایشی، روی افزودن اقدام جدید کلیک کنید، کادرهای انتخاب کنشهایی را که میخواهید اضافه کنید انتخاب کنید و روی افزودن عملکرد(ها) کلیک کنید. اقدامات دستگاه به صورت متوالی انجام می شود. میتوانید با کشیدن آنها ترتیب آنها را تغییر دهید.
شکل 13. ترتیب مجدد اقدامات.
منابع آزمون را تنظیم کنید
منابع تست فایل هایی هستند که برای اجرای یک اجرای آزمایشی مورد نیاز هستند. به عنوان مثال، اجرای CTS به یک فایل android-cts*.zip
نیاز دارد و فلش کردن دستگاه نیاز به ارائه تصویر ساخت دارد.
URL دانلود فایل فشرده مجموعه آزمایشی باید به طور پیشفرض به پیوندهای Google Drive داده شده به شرکا باشد. با کلیک بر روی مرور ، میتوانید فایل دیگری را انتخاب کنید. در پنجره بازشو، میتوانید پیوند دانلود فایل را وارد کنید، از یک فایل از یک کانال ساخت تأیید شده استفاده کنید یا فایلی را برای استفاده از حافظه محلی آپلود کنید.
شکل 14. منابع آزمون.
در زیر پنجره بازشو برای انتخاب یک منبع آزمایشی با URL وب وجود دارد. می توانید لینک URL دانلود را وارد کنید و برای تایید انتخاب روی دکمه انتخاب کلیک کنید.
شکل 15. انتخابگر منبع تست - URL وب.
اگر منابعی را در Google Grive، Google Cloud Storage (GCS) یا کانالهای دیگر آپلود کردهاید، میتوانید به برگه کانال خاص بروید و منابع را در آنجا انتخاب کنید. در اینجا یک مثال برای انتخاب یک منبع از درایو گوگل آورده شده است.
شکل 16. انتخابگر منبع تست - Google Drive.
علاوه بر انتخاب فایلها، کاراکترهای wildcard نیز در قسمت Filename پشتیبانی میشوند. اسناد را می توان در اینجا یافت.
شکل 17. انتخابگر منبع تست - پشتیبانی از الگوی عام.
شما همچنین می توانید یک فایل را از ذخیره سازی فایل محلی OmniLab ATS انتخاب کنید. میتوانید فایلها را در این حافظه آپلود کنید یا مستقیماً از فایلها و فهرستهای محلی استفاده کنید .
شکل 18. انتخابگر منبع تست - ذخیره فایل محلی.
پیکربندی های اجرای مجدد را اضافه کنید
میتوانید اجرای مجددی را که پس از اتمام اجرای اولیه شروع میشود، برنامهریزی کنید و نتایج آن را بارگیری کنید، اما میتوانید از دستگاهها، اقدامات یا منابع مختلف استفاده کنید.
شکل 19. اضافه کردن تنظیمات مجدد.
اجرای آزمایشی را شروع کنید
پس از وارد کردن اطلاعات مورد نیاز برای اجرای آزمایشی، روی Start Test Run کلیک کنید. اگر همه اطلاعات معتبر باشند، اجرای آزمایشی شروع می شود و برای مشاهده جزئیات و پیشرفت آزمایش به صفحه ای هدایت می شوید.
شکل 20. شروع یک اجرای آزمایشی.
یک طرح آزمایشی ایجاد کنید
برنامه های آزمایشی برای ایجاد اجرای آزمایشی در یک برنامه دوره ای استفاده می شود. به عنوان مثال، اجرای CTS 9.0 هر روز در ساعت 5 بعد از ظهر. برای ایجاد یک طرح آزمایشی جدید، روی ایجاد طرح آزمایشی جدید کلیک کنید.
شکل 21. ایجاد یک طرح آزمایشی.
پیکربندی طرح آزمایشی
نام طرح آزمایشی و هر برچسبی را که می خواهید اضافه کنید وارد کنید. سپس یک برنامه زمانی برای استفاده انتخاب کنید.
- راهنما - طرح آزمایشی فقط زمانی اجراهای آزمایشی را ایجاد می کند که کاربر روی اجرای طرح آزمایشی در صفحه لیست طرح آزمایشی کلیک کند.
- دوره ای - طرح آزمون به طور خودکار اجرای آزمایشی را بر اساس برنامه دوره ای انتخاب شده برنامه ریزی می کند. به عنوان مثال، برنامه ریزی یک آزمون آزمایشی هر روز در ساعت 5:00 بعد از ظهر.
- سفارشی - طرح آزمایشی به طور خودکار اجرای آزمایشی را بر اساس عبارت cron وارد شده برنامه ریزی می کند. به عنوان مثال، برای برنامهریزی یک آزمایش آزمایشی هر روز در ساعت 5:00 بعد از ظهر، عبارت cron
0 17 * * *
است.
شکل 22. پیکربندی یک طرح آزمایشی.
مجموعه های آزمایشی را اضافه کنید
با کلیک روی + افزودن پیکربندی اجرای آزمایشی، مجموعههای آزمایشی را که میخواهید توسط طرح آزمایشی برنامهریزی شوند، اضافه کنید. یک مجموعه آزمایشی را از منوی کشویی Name انتخاب کنید و روی مرحله بعدی کلیک کنید. سپس دستگاههایی را که میخواهید آزمایش را روی آنها اجرا کنید انتخاب کنید و روی Add Configuration کلیک کنید. برای هر طرح آزمایشی می توانید چندین پیکربندی اضافه کنید.
شکل 23. پیکربندی اجرای آزمایشی.
اقدامات دستگاه را اضافه کنید
اقدامات دستگاهی را که می خواهید قبل از هر آزمایش آزمایشی اجرا کنید اضافه کنید. برای جزئیات بیشتر به افزودن اقدامات دستگاه مراجعه کنید.
شکل 24. افزودن اقدامات دستگاه.
منابع آزمون را تنظیم کنید
افزودن منابع آزمون به برنامه های آزمایشی مانند افزودن آنها به برنامه های آزمایشی فردی است. برای جزئیات بیشتر به تنظیمات منابع آزمون مراجعه کنید.
شکل 25. تنظیم منابع آزمون.
مشاهده اجراهای آزمایشی
لیست اجرای آزمایشی
لیست اجرای آزمایشی برنامه ریزی شده را در صفحه اجرای آزمایشی مشاهده کنید. برای مشاهده جزئیات بیشتر در مورد اجرای آزمایشی روی View کلیک کنید.
You can also filter the list by entering a string into the filter bar and pressing the Enter key. می توانید از چندین فیلتر با جدا کردن آنها با کاما استفاده کنید. فیلتر تمام ردیفهایی را که حاوی متن دقیق هستند (بدون تطابق رشته فرعی) در هر ستون، به استثنای وضعیت و ایجاد شده ، برمیگرداند.
یک فیلتر خالی همه ردیف ها را برمی گرداند. در حال حاضر راهی برای فیلتر کردن ردیف هایی با مقادیر خالی وجود ندارد.
شکل 26. لیست اجرای آزمایشی.
جزئیات اجرای آزمایشی
در اینجا میتوانید جزئیات اجرای آزمایشی، مانند وضعیت، گزارشها و نتایج را مشاهده کنید.
شکل 27. جزئیات اجرای آزمایشی.
وضعیت اجرای آزمایشی
پیشرفت اجرای آزمایشی در بخش وضعیت نشان داده شده است. اگر پیام مرتبطی مانند پیشرفت دانلود، دلیل لغو یا پیام خطا وجود داشته باشد، در اینجا نیز نشان داده می شود.
شکل 28. وضعیت اجرای آزمایشی.
حالت های اجرای آزمایشی عبارتند از:
- در انتظار - منابع مورد نیاز در حال دانلود هستند.
- در صف - وقتی دستگاهی در دسترس قرار گرفت، آزمایش آماده اجرا است.
- در حال اجرا - آزمایش بر روی دستگاه اختصاص داده شده در حال اجرا است.
- تکمیل شده - آزمون تکمیل شده و نتایج خود را گزارش کرده است.
- لغو شد - هنگام تلاش برای یافتن دستگاههای موجود، آزمایش توسط کاربر لغو شد یا به پایان رسید.
- خطا - خطایی روی داد که از اجرای آزمایش جلوگیری کرد.
اجرای آزمایشی را لغو کنید
اگر اجرای آزمایشی کامل نشده است، میتوانید با کلیک بر روی Cancel و سپس روی Yes در گفتگوی تأیید، آن را لغو کنید. اجرای آزمایشی نیز اگر بیشتر از فیلد queue_timeout_seconds در حالت صف باقی بماند، به طور خودکار لغو می شود. لغو اجرای آزمایشی در حالت در حال اجرا ممکن است چند دقیقه طول بکشد تا اعمال شود.
شکل 29. لغو اجرای آزمایشی.
نتایج اجرای آزمایشی
پس از پایان اجرای آزمایشی، نتایج جمع آوری و نمایش داده می شود. با کلیک کردن روی پیکان برای هر اجرا می توانید جزئیات بیشتری را مشاهده کنید. برای مشاهده مصنوعات آزمایشی جمع آوری شده، مانند test_result.xml
و test_result_failures.html
، روی View Output Files کلیک کنید.
شکل 30. نتایج اجرای آزمایشی.
شما می توانید لاگ های میزبان زنده و Tradefed را در تب Logs مشاهده کنید.
شکل 31. زبانه سیاهههای مربوط.
نتایج برای ماژول های جداگانه در برگه نتایج آزمون قرار دارند.
شکل 32. برگه نتایج آزمون.
می توانید فایل های مورد استفاده به عنوان منابع آزمون را با کلیک بر روی Open در تب منابع تست دانلود کنید.
شکل 33. برگه منابع تست.
برای مشاهده جزئیات اجرای آزمایشی، مانند create_time ، به تب Config بروید.
شکل 34. تب پیکربندی.
ویژگی های پیشرفته
مدیریت فایل های پیکربندی
OmniLab ATS از فایل های پیکربندی نوشته شده در YAML برای بارگیری گزینه های از پیش تعریف شده مانند آزمایش ها، ساخت کانال ها و اقدامات دستگاه استفاده می کند. در اینجا یک نمونه فایل پیکربندی وجود دارد:
// example_file.yaml
tests:
- id : android.cts.9_0.arm
name: CTS 9.0 (ARM)
test_resource_defs:
- name: android-cts.zip
default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
test_resource_type: TEST_PACKAGE
command: cts
env_vars:
- name: TF_PATH
value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
- name: LD_LIBRARY_PATH
value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
setup_scripts:
output_file_patterns:
- android-cts/logs/latest/.*
- android-cts/results/latest/.*\.html
- android-cts/results/latest/compatibility_result\..*
- android-cts/results/latest/logo.png
- android-cts/results/latest/test_result.xml
result_file: test_result.xml
java_properties:
- name: CTS_ROOT
value: ${TF_WORK_DIR}
context_file_dir: android-cts/results/
context_file_pattern: '[\d_\.]+\.zip'
retry_command_line: retry --retry 0
runner_sharding_args: --shard-count ${TF_SHARD_COUNT}
build_channels:
- id: google_drive
name: Google Drive
provider_name: Google Drive
device_actions:
- id: flash
name: Flash
test_resource_defs:
- name: bootloader.img
test_resource_type: DEVICE_IMAGE
- name: radio.img
test_resource_type: DEVICE_IMAGE
- name: img.zip
test_resource_type: DEVICE_IMAGE
tradefed_target_preparers:
- class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
option_values:
- name: work-dir
values:
- ${TF_WORK_DIR}
- name: host-setup-command
values:
- adb -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL flash bootloader bootloader.img
- fastboot -s $SERIAL flash radio radio.img
- fastboot -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL -w update img.zip
- adb -s $SERIAL wait-for-device
- name: host-cmd-timeout
values:
- 10m
هنگامی که نمونه OmniLab ATS خود را راه اندازی می کنید، می توانید پیکربندی خود را با صادر کردن آن به عنوان یک فایل با سایر کاربران به اشتراک بگذارید. برای انجام این کار، به صفحه تنظیمات بروید و روی Export در بالا سمت راست کلیک کنید.
شکل 35. مدیریت فایل پیکربندی.
پس از دانلود فایل پیکربندی، فایل را با سایر کاربران به اشتراک بگذارید. آنها می توانند با کلیک بر روی Import و انتخاب فایل پیکربندی، فایل پیکربندی را به نمونه OmniLab ATS خود اضافه کنند.
یک اقدام دستگاه جدید ایجاد کنید
اقدامات دستگاه برای خودکار کردن فرآیند راه اندازی دستگاه استفاده می شود. کنشها اسکریپتهایی هستند که روی هر دستگاهی که آزمایش روی آن اجرا میشود، قبل از اجرای هر آزمایش، از جمله قبل از تلاشهای مجدد، اجرا میشوند. برای مشاهده لیستی از اقدامات دستگاه موجود، به صفحه تنظیمات بروید و روی تب Device Actions کلیک کنید. چندین عملکرد دستگاه از قبل پیکربندی شده اند، مانند راه اندازی مجدد و چشمک زدن.
شکل 36. تب Device Actions.
یک اقدام دستگاه جدید اضافه کنید
روی New device action کلیک کنید.
شکل 37. دکمه عملکرد دستگاه جدید.
نام و توضیحات را وارد کنید.
شکل 38. نام عمل دستگاه.
روی Add Target Preparer کلیک کنید.
نام کامل کلاس Trade Federation Target Preparer را وارد کنید، به عنوان مثال،
com.android.tradefed.targetprep.RunHostCommandTargetPreparer
.شکل 39. افزودن یک آماده کننده هدف.
فهرستی از آمادهکنندههای هدف موجود را میتوانید در مرجع com.android.tradefed.targetprep پیدا کنید.
شکل 40. لیست آماده کننده هدف.
هر گزینه ای را برای استفاده با آماده کننده هدف اضافه کنید. برای مشاهده گزینه های موجود، targetprep را برای کد منبع هر آماده کننده هدف در AOSP بررسی کنید:
شکل 41. مثال گزینه عمل.
برای افزودن یک گزینه، روی Add Target Preparer Option کلیک کرده و مقادیر مورد نیاز را وارد کنید.
شکل 42. مثال دستور عمل.
منابع آزمایشی که برای اجرای اکشن دستگاه مورد نیاز است را تعریف کنید، به عنوان مثال، ساخت تصاویر برای چشمک زدن. برای افزودن تعریف منبع، روی افزودن منبع آزمایشی کلیک کنید و فیلدهای مورد نیاز را پر کنید. اگر میدانید فایلهای شما در کجا قرار دارند، میتوانید با کلیک بر روی مرور، یک URL دانلود پیشفرض ارائه دهید. اگر آمادهکنندههای هدف دایرکتوری را به عنوان منبع آزمایشی میپذیرند، Decompress را انتخاب کنید. سپس دایرکتوری Destination نسبی را در زیر پوشه کاری موقت و File Names را که باید از حالت فشرده خارج شوند، مشخص کنید. اگر نام فایلی داده نشده باشد، همه فایل ها از منبع تست از حالت فشرده خارج می شوند.
شکل 43. منابع آزمون اقدام.
روی Update کلیک کنید.
Figure 44. Action save changes.
تست ها را مدیریت کنید
یک تست را ویرایش کنید
برای ویرایش یک تست ذخیره شده، به صفحه تست ها بروید و روی ویرایش در ردیف آزمونی که می خواهید تغییر دهید کلیک کنید. پس از تغییر پیکربندی تست، روی Update کلیک کنید.
شکل 45. ویرایش یک آزمون.
یک تست جدید اضافه کنید
To add a new test, go to the Tests page and click Create a New Test . اطلاعات مناسب را وارد کرده و روی ایجاد کلیک کنید.
شکل 46. ایجاد یک آزمون.
شکل 47. کپی کردن یک آزمون.
پیکربندی های میزبان را صادر کنید
پس از پیکربندی یک میزبان، میتوانید تنظیمات میزبان را به یک فایل صادر کنید. برای کپی کردن تنظیمات ذخیره شده می توانید این فایل را در هاست های دیگر آپلود کنید.
برای صادر کردن تنظیمات یک میزبان، به صفحه تنظیمات بروید و روی Export در گوشه بالا سمت راست کلیک کنید.
شکل 48. صادرات پیکربندی میزبان.
برای وارد کردن یک فایل پیکربندی میزبان، به صفحه تنظیمات بروید و روی Import در گوشه بالا سمت راست کلیک کنید.
شکل 49. وارد کردن پیکربندی میزبان.
از فایل ها و دایرکتوری های محلی استفاده کنید
با شروع نسخه R11، فایلهای موجود در فهرست $HOME/.ats_storage
به طور خودکار در OmniLab ATS قابل دسترسی هستند. یک فایل را به آن دایرکتوری کپی یا منتقل کنید، سپس می توانید هنگام برنامه ریزی اجرای آزمایشی، آن را از زبانه Local File انتخاب کنید.
cp /path/to/file $HOME/.ats_storage
شکل 50. انتخاب یک فایل از دایرکتوری $HOME/.ats_storage
.
می توانید دایرکتوری های اضافی را با پرچم --mount_local_path
در فروشگاه فایل محلی نصب کنید.
mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2
شکل 51. دایرکتوری های اضافی نصب شده در فروشگاه فایل محلی.
حالت چند میزبان را فعال کنید
با حالت چند میزبان، کاربران میتوانند از یک میزبان کنترلکننده ATS برای مدیریت دستگاهها و آزمایشهای روی میزبانهای کارگر ATS استفاده کنند.
شکل 52. معماری حالت چند میزبان.
برای راه اندازی کنترلر ATS از دستور زیر استفاده کنید:
mtt start --operation_mode=ON_PREMISE
کنترلر چک در
http://${CONTROLLER_HOSTNAME}:8000
قابل دسترسی است.برای راه اندازی کارگران از دستور زیر استفاده کنید:
mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
اگر شبکه شما به هاستها اجازه نمیدهد با یکدیگر ارتباط برقرار کنند، باید دستورالعملهای راهاندازی پیشرفتهتر زیر را در ATS worker دنبال کنید.
دو هاست را با استفاده از تونل های SSH به هم وصل کنید. پورت ها را برای پورت های سرور اصلی و فایل، به عنوان مثال، 9000 و 9006 انتخاب کنید.
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
ATS را پیکربندی و راه اندازی کنید.
DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')
socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &
socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &
mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \ --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \ --operation_mode=ON_PREMISE
پاک کننده فایل
پاک کننده فایل یک کار cron است که هر ساعت برای پاک کردن فایل ها بر اساس تنظیمات تعریف شده توسط کاربر اجرا می شود. ATS دارای دو پیکربندی پیش فرض برای بایگانی نتایج اجرای آزمایشی و حذف فایل های موقت است. این راهنما نحوه سفارشی سازی خط مشی ها و تنظیمات برای مدیریت موثر فایل های خود را توضیح می دهد.
سیاست ها
یک خط مشی عملیاتی را که باید بر روی فایل ها یا دایرکتوری ها انجام شود و معیارهای انتخاب اهداف را تعریف می کند. عملیات موجود در جدول نشان داده شده است:
نوع عملیات | پارامترها |
---|---|
ARCHIVE | remove_file : اگر true ، پس از بایگانی فایل را حذف کنید. |
DELETE |
معیارها بر اساس ویژگی های فایل و اطلاعات سیستم هستند. معیارهای موجود در جدول نشان داده شده است:
نوع معیار | توضیحات | پارامترها |
---|---|---|
LAST_MODIFIED_TIME | فایلها را بر اساس آخرین تاریخ و زمان اصلاح فیلتر کنید. | ttl : انواع مختلفی از عبارات زمانی پشتیبانی می شوند، به عنوان مثال، 10m ، 2h ، 7 days ، 4w . برای فرمت های پشتیبانی شده به pytimeparse مراجعه کنید. |
LAST_ACCESS_TIME | فایل ها را بر اساس تاریخ و زمان آخرین دسترسی فیلتر کنید. | مانند LAST_MODIFIED_TIME . |
NAME_MATCH | فایل ها را بر اساس نام آنها با استفاده از عبارت منظم فیلتر کنید. | pattern : عبارت منظم، برای مثال، [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip برای مطابقت زیپ های نتیجه |
SYSTEM_AVAILABLE_SPACE | اقدامات را بر اساس فضای موجود در سیستم آغاز کنید. | threshold : زمانی که فضای موجود زیر آستانه قرار می گیرد، اقدام را آغاز می کند، به عنوان مثال، 200 (B)، 200KB ، 200MB ، 200GB ، 2TB . |
شکل 53. یک سیاست پاک کننده فایل جدید اضافه کنید.
تنظیمات
یک پیکربندی یک یا چند سیاست را با دایرکتوری های خاص ترکیب می کند. فایل ها و دایرکتوری های داخل دایرکتوری های مشخص شده بر اساس سیاست های تعریف شده پردازش می شوند. خط مشی ها به ترتیبی که در پیکربندی ظاهر می شوند اعمال می شوند.
همه دایرکتوری های هدف باید در زیر پوشه /data
قرار گیرند. اگر پیکربندی شما دایرکتوری مورد نظر را به عنوان logs
مشخص می کند، به عنوان /data/logs
تفسیر می شود.
شکل 54. پیکربندی پاک کننده فایل را ویرایش کنید.
بازنشانی کنید
با کلیک بر روی Reset Settings، پیکربندی پاک کننده فایل به حالت پیش فرض خود باز می گردد. این عمل همه موارد سفارشی را پاک می کند.
شکل 55. تنظیمات پاک کننده فایل را بازنشانی کنید.
پشتیبانی کنید
گزارش اشکال
مشارکت شما در OmniLab ATS به بهبود توسعه ابزار کمک می کند و ما نظر شما را می خواهیم! برای جزئیات بیشتر در مورد آخرین نسخه، یادداشت های انتشار OmniLab ATS را ببینید. To report bugs or offer suggestions, file a bug report . شرکا باید اشکالات یا پیشنهادات خود را با استفاده از کانال های شریک خود گزارش دهند.