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 کلیک کنید.
همچنین می توانید با وارد کردن یک رشته در نوار فیلتر و فشار دادن کلید Enter لیست را فیلتر کنید. می توانید از چندین فیلتر با جدا کردن آنها با کاما استفاده کنید. فیلتر تمام ردیفهایی را که حاوی متن دقیق هستند (بدون تطابق رشته فرعی) در هر ستون، به استثنای وضعیت و ایجاد شده ، برمیگرداند.
یک فیلتر خالی همه ردیف ها را برمی گرداند. در حال حاضر راهی برای فیلتر کردن ردیف هایی با مقادیر خالی وجود ندارد.
شکل 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 کلیک کنید.
شکل 44. Action save تغییرات.
تست ها را مدیریت کنید
یک تست را ویرایش کنید
برای ویرایش یک تست ذخیره شده، به صفحه تست ها بروید و روی ویرایش در ردیف آزمونی که می خواهید تغییر دهید کلیک کنید. پس از تغییر پیکربندی تست، روی Update کلیک کنید.
شکل 45. ویرایش یک آزمون.
یک تست جدید اضافه کنید
برای افزودن یک آزمون جدید، به صفحه تست ها بروید و روی ایجاد آزمون جدید کلیک کنید. اطلاعات مناسب را وارد کرده و روی ایجاد کلیک کنید.
شکل 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 را ببینید. برای گزارش اشکالات یا ارائه پیشنهادات، یک گزارش اشکال ارسال کنید . شرکا باید اشکالات یا پیشنهادات خود را با استفاده از کانال های شریک خود گزارش دهند.
،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 باید فعال باشد. برای فعال کردن اشکال زدایی:
دستورالعمل های فعال کردن گزینه های توسعه دهنده و اشکال زدایی را دنبال کنید.
اگر قصد دارید از Android Builds استفاده شده با کلیدهای ADB سفارشی استفاده کنید ، پرونده های سفارشی
.adb_key
را در زیر~/.android/
فهرست قرار دهید.پرونده ها به طور خودکار بارگذاری می شوند و پس از چشمک زدن دستگاه برای دستگاه هایی که ساخت آن را دارند ، به ADB منتقل می شوند.
دستگاه را با استفاده از USB به دستگاه میزبان وصل کنید.
این دستگاه پس از طراوت رابط وب ، در برگه دستگاه Omnilab ATS در یک دقیقه ظاهر می شود. همچنین می توانید وضعیت دستگاه های موجود در این برگه را مشاهده کنید.
شکل 6 اتصال یک دستگاه.
حالت های مختلف دستگاه عبارتند از:
- در دسترس - دستگاه متصل و آماده اجرای یک تست است.
- اختصاص داده شده - دستگاه به هم وصل شده و آزمایش را انجام می دهد. هر دستگاه می تواند فقط یک آزمایش را به طور همزمان اجرا کند ، بنابراین دستگاه باید قبل از اجرای یک دستگاه جدید ، تست فعلی خود را تمام کند.
یک آزمون اجرا کنید
یک آزمون را انتخاب کنید
Omnilab ATS با مجموعه ای از پیکربندی های CTS از پیش تعیین شده همراه است. برای اجرای یکی از این تست ها ، به برگه تست Suites بروید و برای تست انتخاب شده روی تست Run کلیک کنید.
شکل 7 انتخاب یک آزمون.
برای ویرایش یا اضافه کردن تست های جدید ، به تست های اضافه کردن مراجعه کنید.
تنظیمات تست را پیکربندی کنید
پارامترها را برای استفاده برای این آزمایش خاص ویرایش کنید. بیشتر پارامترها با مقادیر تعریف شده در پیکربندی آزمون انتخاب شده آماده می شوند.
این مرحله را می توان با استفاده از مقادیر پیش فرض تکمیل کرد ، اما می توانید هر یک از پارامترها مانند حداکثر تلاش و فرمان را متناسب با نیازهای خود تغییر دهید.
شکل 8 پیکربندی یک اجرای آزمایش.
پارامترهای آزمایش آزمایش عبارتند از:
- نام - نام مجموعه تست که می خواهید اجرا کنید.
- شمارش را اجرا کنید - تعداد دفعاتی که این آزمون اجرا باید هنگام برنامه ریزی انجام شود. دوره های آزمایش با استفاده از فدراسیون تجارت برنامه ریزی شده است که در صورت وجود ظرفیت انجام این کار ، حداکثر 20 دوره آزمایش به طور موازی انجام می شود.
- حداکثر تلاش - حداکثر تعداد بار برای امتحان مجدد در صورت عدم موفقیت یک آزمایش. این معمولاً برای انجام آزمایشات پوسته پوسته بر روی 4-6 قیام قرار می گیرد.
- Timeout Queue - اگر یک آزمایش آزمایشی بیش از حد طولانی در حالت صف باقی بماند ، به طور خودکار لغو می شود. قبل از فسخ در اینجا مقدار زمانی را که باید منتظر بمانید مشخص کنید. پیش فرض 24 ساعت است.
فرمان - دستور اجرای مجموعه تست. می توانید آرگومان های خط فرمان اضافی را در اینجا وارد کنید. به عنوان مثال ، یک ماژول خاص را در CTS 8.1 با:
cts-suite -m ShortModuleName
Command Command - دستور برای آزمایش مجدد یک مجموعه تست. می توانید آرگومان های خط فرمان اضافی را در اینجا اضافه کنید. به عنوان مثال ، برای امتحان کردن فقط یک ماژول خاص در CTS 8.1 ، از:
cts --retry 0 -m ShortModuleName
آرگومان های آزمایش مجدد ممکن است با موارد موجود با دستور اولیه متفاوت باشد ، بنابراین پارامترهای پشتیبانی شده را در سایت رسمی برای مجموعه آزمون انتخاب شده بررسی کنید.
اجرای قبلی آزمون - اگر می خواهید یک دوره آزمایش قبلی را دوباره اجرا کنید:
محلی - اگر اجرا روی میزبان فعلی شروع شد ، هنگام مشاهده جزئیات اجرای آزمون ، شناسه آزمایش را مشاهده کنید.
شکل 9. اجرای آزمایش قبلی محلی.
Remote - اگر اجرای روی میزبان دیگری شروع شد ، با انتخاب Remote ، با کلیک بر روی فایل نتایج آزمون آپلود ، و انتخاب یک فایل از ذخیره محلی خود ، پرونده نتایج آزمایش را بارگذاری کنید.
شکل 10. از راه دور آزمایش قبلی.
دستگاه ها را انتخاب کنید
برای انتخاب دستگاه ها برای تخصیص مجموعه تست ، روی کادر انتخاب کلیک کنید. تعداد Shard باید به طور خودکار تغییر کند تا با تعداد دستگاه های انتخاب شده مطابقت داشته باشد.
شکل 11. انتخاب دستگاه ها.
برای انتخاب دستگاه ها بر اساس ویژگی های غیر از سریال های دستگاه ، می توانید به صورت دستی "مشخصات دستگاه" را وارد کنید. به عنوان مثال ، برای انتخاب 3 دستگاه که نام محصول آنها "Bramble" است ، موارد زیر را وارد کنید:
product:bramble;product:bramble;product:bramble
ویژگی های پشتیبانی شده عبارتند از:
- build_id
- دستگاه_سری
- نوع دستگاه
- نام میزبان
- محصول
- product_variant
- Sim_state
تمام دستگاه های منتخب برای اجرای آزمون باید در حالت موجود قرار بگیرند و همه آنها هنگام اجرای آزمون به حالت اختصاص یافته تغییر می کنند. یک آزمایش آزمایشی در حالت صف قرار دارد در حالی که منتظر در دسترس بودن دستگاه ها است.
اقدامات دستگاه را اضافه کنید
اقدامات دستگاه اسکریپت هایی هستند که می توانند قبل از هر آزمون اجرا شوند. برخی از اقدامات دستگاه از قبل پیکربندی شده است ، مانند چشمک زدن و راه اندازی مجدد. برای ایجاد اقدامات جدید دستگاه ، به ایجاد یک عمل دستگاه جدید مراجعه کنید.
شکل 12 اقدامات دستگاه.
برای افزودن یک عمل دستگاه به یک تست ، روی Add New Action کلیک کنید ، کادر انتخاب را برای اضافه کردن اقدامات انتخاب کنید و روی Add Action (ها) کلیک کنید. اقدامات دستگاه به صورت متوالی انجام می شود. می توانید با کشیدن آنها ، اقدامات را مرتب کنید.
شکل 13. اقدامات مرتب سازی.
منابع آزمایش را تنظیم کنید
منابع آزمایش پرونده هایی هستند که برای اجرای یک آزمایش آزمایشی لازم هستند. به عنوان مثال ، اجرای CTS به یک فایل android-cts*.zip
نیاز دارد و چشمک زدن به یک دستگاه شما را ملزم به تهیه تصویر ساخت می کند.
URL بارگیری برای پرونده ZIP Test Suite باید به طور پیش فرض به پیوندهای Google Drive که به شرکا داده می شود. با کلیک بر روی مرور می توانید یک فایل متفاوت را انتخاب کنید. در پنجره بازشو می توانید یک لینک بارگیری فایل را وارد کنید ، از یک فایل از یک کانال ساخت تأیید شده استفاده کنید یا یک فایل را بارگذاری کنید تا از ذخیره محلی استفاده کنید.
شکل 14 منابع آزمایش.
در زیر پنجره پنجره برای انتخاب یک منبع تست توسط یک URL وب قرار دارد. می توانید پیوند URL Download را وارد کنید ، و برای تأیید انتخاب بر روی دکمه SELECT کلیک کنید.
شکل 15. انتخاب کننده منابع تست - URL وب.
اگر منابع را در Google Grive ، Google Cloud Storage (GCS) یا کانال های دیگر بارگذاری کرده اید ، می توانید به برگه کانال خاص نیز بروید و منابع را در آنجا انتخاب کنید. در اینجا مثالی برای انتخاب منبع از Google Drive آورده شده است.
شکل 16. انتخاب کننده منابع تست - Google Drive.
علاوه بر انتخاب پرونده ها ، شخصیت های Wildcard نیز در زمینه نام پرونده پشتیبانی می شوند. مستندات را می توان در اینجا یافت.
شکل 17. انتخاب منابع تست - پشتیبانی از الگوی Wildcard.
همچنین می توانید پرونده ای را از ذخیره سازی فایل محلی Omnilab ATS انتخاب کنید. می توانید پرونده ها را در این ذخیره سازی بارگذاری کنید ، یا به طور مستقیم از پرونده ها و دایرکتوری های محلی استفاده کنید .
شکل 18. انتخاب کننده منابع تست - فروشگاه پرونده محلی.
پیکربندی مجدد را اضافه کنید
شما می توانید برنامه ریزی مجدد را انجام دهید که پس از کامل شدن اجرای اولیه شروع می شوند و نتایج آن را بارگیری می کنند ، اما می توانید از دستگاه ، اقدامات یا منابع مختلف استفاده کنید.
شکل 19. اضافه کردن پیکربندی مجدد.
یک دوره آزمایش را شروع کنید
بعد از وارد کردن اطلاعات مورد نیاز برای اجرای آزمون ، روی Start Test Run کلیک کنید. اگر تمام اطلاعات معتبر باشد ، اجرای آزمون شروع می شود و برای مشاهده جزئیات و پیشرفت آزمون به صفحه ای هدایت می شوید.
شکل 20 شروع یک آزمایش.
یک برنامه آزمایش ایجاد کنید
برنامه های آزمون برای ایجاد دوره های آزمایشی در یک برنامه دوره ای استفاده می شود. به عنوان مثال ، اجرای CTS 9.0 هر روز ساعت 5 بعد از ظهر. برای ایجاد یک برنامه آزمایشی جدید ، روی ایجاد یک برنامه آزمایش جدید کلیک کنید.
شکل 21 ایجاد یک برنامه آزمایشی.
برنامه تست را پیکربندی کنید
نام برنامه تست و هر برچسب مورد نظر خود را وارد کنید. سپس یک برنامه برای استفاده را انتخاب کنید.
- کتابچه راهنمای کاربر - برنامه تست فقط هنگامی اجرا می کند که یک کاربر در صفحه لیست برنامه آزمایشی کلیک می کند ، آزمایش را اجرا می کند .
- دوره ای - برنامه آزمون به طور خودکار برنامه های آزمایشی را در برنامه دوره ای انتخاب شده برنامه ریزی می کند. به عنوان مثال ، برنامه ریزی یک آزمون هر روز ساعت 5 بعد از ظهر.
- سفارشی - برنامه آزمایشی برنامه های تست به صورت خودکار بر اساس بیان Cron وارد شده اجرا می شود. به عنوان مثال ، برای برنامه ریزی یک آزمون هر روز ساعت 5 بعد از ظهر ، بیان کرون
0 17 * * *
است.
شکل 22 پیکربندی یک برنامه آزمایشی.
سوئیت های تست را اضافه کنید
با کلیک روی + اضافه کردن پیکربندی اجرای تست ، تست های تست هایی را که می خواهید توسط برنامه آزمون برنامه ریزی کنید ، اضافه کنید. یک مجموعه تست را از Downdown Name انتخاب کنید و روی مرحله بعدی کلیک کنید. سپس دستگاه های مورد نظر خود را برای اجرای تست انتخاب کرده و روی Add Configuration کلیک کنید. برای هر برنامه آزمون می توانید چندین پیکربندی اضافه کنید.
شکل 23 پیکربندی یک اجرای آزمایش.
اقدامات دستگاه را اضافه کنید
اقدامات دستگاه مورد نظر خود را قبل از اجرای هر آزمون اضافه کنید. برای جزئیات بیشتر به اضافه کردن اقدامات دستگاه مراجعه کنید.
شکل 24 اضافه کردن اقدامات دستگاه.
منابع آزمایش را تنظیم کنید
اضافه کردن منابع آزمایشی برای برنامه های آزمایش همان افزودن آنها به آزمایش های فردی است. برای جزئیات بیشتر به تنظیم منابع آزمون مراجعه کنید.
شکل 25 تنظیم منابع تست.
نمایش آزمون اجرا
لیست اجرای آزمون
مشاهده لیست برنامه های برنامه ریزی شده در صفحه Runs Test. برای دیدن جزئیات بیشتر در مورد یک تست ، روی View کلیک کنید.
همچنین می توانید با وارد کردن یک رشته در نوار فیلتر و فشار دادن کلید Enter ، لیست را فیلتر کنید. با جدا کردن آنها با کاما می توانید از چندین فیلتر استفاده کنید. فیلتر تمام ردیف هایی را که حاوی متن دقیق (بدون تطبیق بستر) در هر ستون است ، به استثنای وضعیت و ایجاد ایجاد می کند .
یک فیلتر خالی تمام ردیف ها را برمی گرداند. در حال حاضر هیچ راهی برای فیلتر کردن ردیف ها با مقادیر خالی وجود ندارد.
شکل 26. لیست اجرای آزمون.
جزئیات اجرای آزمون
می توانید جزئیات یک آزمایش را در اینجا مشاهده کنید ، مانند وضعیت ، سیاهههای مربوط و نتایج.
شکل 27 جزئیات اجرا را اجرا کنید.
وضعیت اجرای آزمون
پیشرفت برای یک آزمایش در بخش وضعیت نشان داده شده است. اگر یک پیام مرتبط مانند بارگیری ، دلیل لغو یا پیام خطا وجود دارد ، در اینجا نیز نشان داده شده است.
شکل 28 وضعیت اجرای آزمون.
حالت های آزمایشی عبارتند از:
- در انتظار - منابع مورد نیاز بارگیری می شوند.
- Queued - در صورت در دسترس بودن دستگاه ، آزمایش آماده اجرا است.
- در حال اجرا - تست روی یک دستگاه اختصاص یافته اجرا می شود.
- تکمیل شده - آزمون به پایان رسیده و نتایج آن را گزارش کرده است.
- لغو شده - این آزمایش توسط کاربر لغو شد یا هنگام تلاش برای یافتن دستگاه های موجود ، به پایان رسید.
- خطا - خطایی رخ داد که مانع از اجرای آزمایش شد.
یک اجرای آزمایش را لغو کنید
اگر اجرای تست به پایان نرسیده است ، می توانید با کلیک بر روی Cancel و سپس کلیک بر روی YES در گفتگوی تأیید ، آن را لغو کنید. اجرای تست نیز به طور خودکار لغو می شود اگر آنها در حالت صف طولانی تر از قسمت queue_timeout_seconds باقی بمانند. لغو اجرای آزمایش در حالی که در حالت در حال اجرا است ممکن است چند دقیقه طول بکشد.
شکل 29 لغو اجرای آزمایش.
نتایج آزمایش آزمایش
پس از اتمام اجرای آزمایش ، نتایج جمع آوری و نمایش داده می شود. می توانید جزئیات اضافی را با کلیک روی فلش برای هر اجرا مشاهده کنید. برای دیدن مصنوعات تست جمع آوری شده مانند test_result.xml
و test_result_failures.html
، روی مشاهده فایلهای خروجی کلیک کنید.
شکل 30 نتایج اجرا را انجام دهید.
می توانید گزارش های میزبان و سفرهای زنده را در برگه سیاهه ها مشاهده کنید.
شکل 31. برگه logs.
نتایج مربوط به ماژول های فردی در برگه نتایج آزمون است.
شکل 32. برگه نتایج آزمون.
می توانید با کلیک بر روی برگه Open در Test Resources ، پرونده های مورد استفاده به عنوان منابع آزمایش را بارگیری کنید.
شکل 33. برگه منابع آزمایش.
برای دیدن جزئیات اجرای آزمون ، مانند Create_Time ، به برگه پیکربندی بروید.
شکل 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. مدیریت فایل پیکربندی.
پس از بارگیری فایل پیکربندی ، فایل را با سایر کاربران به اشتراک بگذارید. آنها می توانند با کلیک بر روی واردات و انتخاب پرونده پیکربندی ، فایل پیکربندی را به نمونه Omnilab ATS خود اضافه کنند.
یک عمل دستگاه جدید ایجاد کنید
از اقدامات دستگاه برای خودکار سازی فرآیند تنظیم دستگاه استفاده می شود. اقدامات اسکریپت هایی هستند که بر روی هر دستگاهی اجرا می شوند که تست قبل از هر آزمایش انجام می شود ، از جمله قبل از آزمایشات. برای مشاهده لیستی از اقدامات موجود در دستگاه ، به صفحه تنظیمات بروید و روی برگه دستگاه Actions کلیک کنید. چندین عمل دستگاه از قبل تنظیم شده است ، مانند راه اندازی مجدد و چشمک زن.
شکل 36. برگه اقدامات دستگاه.
یک دستگاه جدید اضافه کنید
روی عمل دستگاه جدید کلیک کنید.
شکل 37 دکمه عملکرد جدید دستگاه.
نام و توضیحات را وارد کنید.
شکل 38 نام عملکرد دستگاه.
روی افزودن آماده کننده هدف کلیک کنید.
نام کلاس کامل فدراسیون تجارت را وارد کنید ، به عنوان مثال ،
com.android.tradefed.targetprep.RunHostCommandTargetPreparer
.شکل 39 اضافه کردن یک آماده کننده هدف.
لیستی از تهیه کننده های هدف موجود را می توان در مرجع com.android.tradefed.targetprep یافت.
شکل 40. لیست تهیه کننده هدف.
هر گزینه ای را برای استفاده با تهیه کننده هدف اضافه کنید. برای مشاهده گزینه های موجود ، TargetPrep را برای کد منبع برای هر تهیه کننده هدف در AOSP بررسی کنید:
شکل 41. مثال گزینه عمل.
برای افزودن گزینه ، روی گزینه Add Target Preparer گزینه کلیک کرده و مقادیر مورد نیاز را وارد کنید.
شکل 42. مثال دستور عمل.
منابع تست مورد نیاز برای اجرای عمل دستگاه را تعریف کنید ، به عنوان مثال ، برای چشمک زدن تصاویر ایجاد کنید. برای افزودن یک تعریف منبع ، روی Add Test Resource کلیک کرده و قسمت های مورد نیاز را پر کنید. اگر می دانید پرونده های شما در کجا قرار دارد ، می توانید با کلیک بر روی مرور ، URL بارگیری پیش فرض را ارائه دهید. اگر تهیه کنندگان هدف دایرکتوری را به عنوان منبع آزمایش می پذیرند ، Decompress را انتخاب کنید. سپس فهرست مقصد نسبی را در زیر فهرست کار موقت و نام پرونده ها مشخص کنید تا فشرده شود. اگر هیچ نام پرونده ای ارائه نشده باشد ، همه پرونده ها از منبع آزمایش فشرده می شوند.
شکل 43. منابع آزمایش عمل.
روی Update کلیک کنید.
شکل 44. عمل تغییرات را ذخیره می کند.
تست ها را مدیریت کنید
یک آزمون را ویرایش کنید
برای ویرایش یک تست ذخیره شده ، به صفحه Tests بروید و روی ویرایش در ردیف تست مورد نظر برای اصلاح کلیک کنید. پس از تغییر پیکربندی تست ، بر روی بروزرسانی کلیک کنید.
شکل 45 ویرایش یک آزمون.
یک تست جدید اضافه کنید
برای اضافه کردن یک تست جدید ، به صفحه Tests بروید و روی ایجاد یک تست جدید کلیک کنید. اطلاعات مناسب را وارد کرده و روی ایجاد کلیک کنید.
شکل 46 ایجاد یک آزمایش.
شکل 47 کپی کردن یک آزمون.
تنظیمات میزبان صادرات
پس از پیکربندی یک میزبان ، می توانید تنظیمات میزبان را به یک پرونده صادر کنید. برای کپی کردن تنظیمات ذخیره شده می توانید این پرونده را در میزبان های دیگر بارگذاری کنید.
برای صادر کردن تنظیمات میزبان ، به صفحه تنظیمات بروید و روی Export در گوشه بالا سمت راست کلیک کنید.
شکل 48 صادر کردن پیکربندی میزبان.
برای وارد کردن یک پرونده پیکربندی میزبان ، به صفحه تنظیمات بروید و روی واردات در گوشه بالا سمت راست کلیک کنید.
شکل 49. وارد کردن یک پیکربندی میزبان.
از پرونده ها و دایرکتوری های محلی استفاده کنید
با شروع نسخه R11 ، پرونده ها در فهرست $HOME/.ats_storage
به طور خودکار در ATS Omnilab قابل دسترسی هستند. یک پرونده را در آن فهرست کپی یا جابجا کنید ، سپس می توانید هنگام برنامه ریزی یک تست ، آن را از برگه پرونده محلی انتخاب کنید.
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
پاک کننده پرونده
File Cleaner یک کار 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. پیکربندی پاک کننده فایل را ویرایش کنید.
بازنشانی کنید
با کلیک بر روی تنظیمات تنظیم مجدد ، پیکربندی پاک کننده فایل را به حالت پیش فرض خود برگرداند. این عمل همه موارد سفارشی را پاک می کند.
شکل 55 تنظیمات پاک کننده فایل را تنظیم مجدد کنید.
پشتیبانی کنید
گزارش اشکال
سهم شما در Omnilab ATS به بهبود توسعه ابزار کمک می کند و ما می خواهیم ورودی شما! برای جزئیات بیشتر در مورد آخرین نسخه ، یادداشت های انتشار Omnilab ATS را مشاهده کنید. برای گزارش اشکالات یا ارائه پیشنهادات ، گزارش اشکال را ثبت کنید . شرکا باید اشکالات یا پیشنهادات را با استفاده از کانال های شریک زندگی خود گزارش دهند.
،Omnilab ATS ابزاری تست است که توسعه دهندگان Android و مهندسان تست می توانند برای استفاده از رابط کاربری برای اجرای سوئیت های تست استاندارد Android مانند مجموعه تست سازگاری اندرویدی (CTS) استفاده کنند. این ابزار به عنوان یک رابط وب برای چارچوب های مختلف تست ، مانند فدراسیون تجارت (TF) و Google Mobly عمل می کند ، به شما امکان می دهد CTS و تست های چند دستگاه را در مجموعه ای از دستگاه های آزمایشی با حداقل تنظیمات اجرا کنید و همچنین برنامه ای را تعیین کنید تست های مداوم را اجرا کنید.
ATS Omnilab را تنظیم کنید
در این بخش نحوه نصب و تنظیم ATS Omnilab توضیح داده شده است.
Omnilab ATS از کد منبع از این مکان ها استفاده می کند:
- کد منبع Omnilab ATS
- کد منبع خوشه ای
ATS Omnilab را نصب کنید
برای تست های تست هایی که اجرا می کنید ، هرگونه الزامات سخت افزاری و نرم افزاری را دنبال کنید.
الزامات مربوط به CTS در Source.android.com یافت می شود.
هیچ نیاز سخت افزاری اضافی برای ATS Omnilab وجود ندارد ، اما توصیه می کنیم از نیاز میزبان CTS به عنوان نقطه شروع استفاده کنید.
دو روش برای نصب ATS Omnilab وجود دارد:
- برنامه نصب را اجرا کنید.
- آن را به صورت دستی نصب کنید ، که نیاز به نصب چندین برنامه و منابع دارد.
با برنامه نصب نصب کنید
در Ubuntu 20.04+ ، برنامه Installer تمام برنامه ها و منابع مورد نیاز برای اجرای ATS Omnilab را نصب و پیکربندی می کند.
برای استفاده از برنامه نصب:
برنامه نصب را اجرا کنید:
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
برای نصب نسخه خاص Python 3 (به عنوان مثال ، 3.10) ، این دستورات را به جای آن اجرا کنید:
sudo apt-get update
sudo apt install python3.10 python3.10-distutils
amnilab ats cli را دریافت کنید
بسته رابط خط فرمان (CLI) را از اینجا بارگیری کنید.
amnilab ats را شروع کنید
amnilab ats را با دستور زیر شروع کنید:
mtt start
اولین باری که UI شروع می شود ، ممکن است چند دقیقه طول بکشد. CLI برای دسترسی به UI در یک مرورگر ، یک URL وب را نشان می دهد. به طور پیش فرض ، 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
پس از نصب و اجرای ATS Omnilab برای اولین بار ، جادوگر Setup شما را در طی چند قدم طی می کند تا به شما در سفارشی کردن ابزار برای محیط خود کمک کند. هر تغییری که در اینجا ایجاد می کنید می تواند بعداً از طریق صفحه تنظیمات دوباره تنظیم شود.
تهیه نسخه پشتیبان از پیکربندی
اگر یک فایل پیکربندی پشتیبان از میزبان Omnilab ATS دیگر دارید ، می توانید با کلیک بر روی دکمه File File ، پرونده را برای کپی کردن هرگونه تنظیمات اصلاح شده از آن میزبان بارگذاری کنید.
شکل 1 بازگرداندن پشتیبان گیری از پیکربندی.
حساب سرویس پیش فرض را تنظیم کنید
شما می توانید یک حساب کاربری سرویس تنظیم کنید که Omnilab ATS هنگام دسترسی به منابع خود به طور پیش فرض از آن استفاده می کند (به عنوان مثال ، Google Cloud Storage ، Google Drive). برای تأیید اعتبار حساب خدمات خود ، روی کلید حساب کاربری سرویس بارگذاری کلیک کنید و پرونده کلید JSON حساب خدمات خود را انتخاب کنید.
شکل 2 تنظیم حساب خدمات.
هنگامی که حساب سرویس با موفقیت تأیید شد ، آدرس ایمیل حساب در گوشه سمت راست بالای صفحه ظاهر می شود. برای تغییر حساب سرویس ، روی نام حساب کلیک کنید ، حساب پیش فرض فعلی را حذف کرده و کلید حساب خدمات جدید را بارگذاری کنید.
شکل 3 تغییر حساب خدمات.
وارد کردن مجموعه پیکربندی ها
مجموعه پیکربندی مجموعه ای از پیکربندی ها برای اجرای مجموعه تست ها ، از جمله اقدامات دستگاه مرتبط و ساخت کانال ها است. مجموعه های پیکربندی در یک سطل خاص Google Cloud Storage (GCS) میزبان هستند. پس از تأیید اعتبار کانال ساخت GCS با حساب Google خود ، لیستی از کلیه مجموعه های پیکربندی را که در دسترس شما است مشاهده می کنید.
هر مجموعه پیکربندی را که می خواهید به میزبان ایستگاه تست خود اضافه کنید انتخاب کنید و روی Import Selected کلیک کنید.
شکل 4. وارد کردن یک مجموعه پیکربندی.
شامل تنظیمات Wi-Fi
برخی از تست های CTS به دستگاه شما نیاز دارند تا به یک کانون Wi-Fi متصل شوند. برای انتخاب شبکه Wi-Fi خود ، WiFi SSID و WiFi PSK اختیاری را وارد کنید.
شکل 5 تنظیمات کانون Wi-Fi.
پس از تکمیل Wizard Setup ، صفحه با تنظیمات جدید اعمال می شود.
یک دستگاه را وصل کنید
اشکال زدایی USB باید از دستگاهی برای آزمایش استفاده شود. برای فعال کردن اشکال زدایی:
دستورالعمل های فعال کردن گزینه های توسعه دهنده و اشکال زدایی را دنبال کنید.
اگر قصد دارید از Android Builds استفاده شده با کلیدهای ADB سفارشی استفاده کنید ، پرونده های سفارشی
.adb_key
را در زیر~/.android/
فهرست قرار دهید.پرونده ها به طور خودکار بارگذاری می شوند و پس از چشمک زدن دستگاه برای دستگاه هایی که ساخت آن را دارند ، به ADB منتقل می شوند.
دستگاه را با استفاده از USB به دستگاه میزبان وصل کنید.
این دستگاه پس از طراوت رابط وب ، در برگه دستگاه Omnilab ATS در یک دقیقه ظاهر می شود. همچنین می توانید وضعیت دستگاه های موجود در این برگه را مشاهده کنید.
شکل 6 اتصال یک دستگاه.
حالت های مختلف دستگاه عبارتند از:
- در دسترس - دستگاه متصل و آماده اجرای یک تست است.
- اختصاص داده شده - دستگاه به هم وصل شده و آزمایش را انجام می دهد. هر دستگاه می تواند فقط یک آزمایش را به طور همزمان اجرا کند ، بنابراین دستگاه باید قبل از اجرای یک دستگاه جدید ، تست فعلی خود را تمام کند.
یک آزمون اجرا کنید
یک آزمون را انتخاب کنید
Omnilab ATS با مجموعه ای از پیکربندی های CTS از پیش تعیین شده همراه است. برای اجرای یکی از این تست ها ، به برگه تست Suites بروید و برای تست انتخاب شده روی تست Run کلیک کنید.
شکل 7 انتخاب یک آزمون.
برای ویرایش یا اضافه کردن تست های جدید ، به تست های اضافه کردن مراجعه کنید.
تنظیمات تست را پیکربندی کنید
پارامترها را برای استفاده برای این آزمایش خاص ویرایش کنید. بیشتر پارامترها با مقادیر تعریف شده در پیکربندی آزمون انتخاب شده آماده می شوند.
این مرحله را می توان با استفاده از مقادیر پیش فرض تکمیل کرد ، اما می توانید هر یک از پارامترها مانند حداکثر تلاش و فرمان را متناسب با نیازهای خود تغییر دهید.
شکل 8 پیکربندی یک اجرای آزمایش.
پارامترهای آزمایش آزمایش عبارتند از:
- نام - نام مجموعه تست که می خواهید اجرا کنید.
- شمارش را اجرا کنید - تعداد دفعاتی که این آزمون اجرا باید هنگام برنامه ریزی انجام شود. دوره های آزمایش با استفاده از فدراسیون تجارت برنامه ریزی شده است که در صورت وجود ظرفیت انجام این کار ، حداکثر 20 دوره آزمایش به طور موازی انجام می شود.
- حداکثر تلاش - حداکثر تعداد بار برای امتحان مجدد در صورت عدم موفقیت یک آزمایش. این معمولاً برای انجام آزمایشات پوسته پوسته بر روی 4-6 قیام قرار می گیرد.
- Timeout Queue - اگر یک آزمایش آزمایشی بیش از حد طولانی در حالت صف باقی بماند ، به طور خودکار لغو می شود. قبل از فسخ در اینجا مقدار زمانی را که باید منتظر بمانید مشخص کنید. پیش فرض 24 ساعت است.
فرمان - دستور اجرای مجموعه تست. می توانید آرگومان های خط فرمان اضافی را در اینجا وارد کنید. به عنوان مثال ، یک ماژول خاص را در CTS 8.1 با:
cts-suite -m ShortModuleName
Command Command - دستور برای آزمایش مجدد یک مجموعه تست. می توانید آرگومان های خط فرمان اضافی را در اینجا اضافه کنید. به عنوان مثال ، برای امتحان کردن فقط یک ماژول خاص در CTS 8.1 ، از:
cts --retry 0 -m ShortModuleName
آرگومان های آزمایش مجدد ممکن است با موارد موجود با دستور اولیه متفاوت باشد ، بنابراین پارامترهای پشتیبانی شده را در سایت رسمی برای مجموعه آزمون انتخاب شده بررسی کنید.
اجرای قبلی آزمون - اگر می خواهید یک دوره آزمایش قبلی را دوباره اجرا کنید:
محلی - اگر اجرا روی میزبان فعلی شروع شد ، هنگام مشاهده جزئیات اجرای آزمون ، شناسه آزمایش را مشاهده کنید.
شکل 9. اجرای آزمایش قبلی محلی.
Remote - اگر اجرای روی میزبان دیگری شروع شد ، با انتخاب Remote ، با کلیک بر روی فایل نتایج آزمون آپلود ، و انتخاب یک فایل از ذخیره محلی خود ، پرونده نتایج آزمایش را بارگذاری کنید.
شکل 10. از راه دور آزمایش قبلی.
دستگاه ها را انتخاب کنید
برای انتخاب دستگاه ها برای تخصیص مجموعه تست ، روی کادر انتخاب کلیک کنید. تعداد Shard باید به طور خودکار تغییر کند تا با تعداد دستگاه های انتخاب شده مطابقت داشته باشد.
شکل 11. انتخاب دستگاه ها.
برای انتخاب دستگاه ها بر اساس ویژگی های غیر از سریال های دستگاه ، می توانید به صورت دستی "مشخصات دستگاه" را وارد کنید. به عنوان مثال ، برای انتخاب 3 دستگاه که نام محصول آنها "Bramble" است ، موارد زیر را وارد کنید:
product:bramble;product:bramble;product:bramble
ویژگی های پشتیبانی شده عبارتند از:
- build_id
- دستگاه_سری
- نوع دستگاه
- نام میزبان
- محصول
- product_variant
- Sim_state
تمام دستگاه های منتخب برای اجرای آزمون باید در حالت موجود قرار بگیرند و همه آنها هنگام اجرای آزمون به حالت اختصاص یافته تغییر می کنند. یک آزمایش آزمایشی در حالت صف قرار دارد در حالی که منتظر در دسترس بودن دستگاه ها است.
اقدامات دستگاه را اضافه کنید
اقدامات دستگاه اسکریپت هایی هستند که می توانند قبل از هر آزمون اجرا شوند. برخی از اقدامات دستگاه از قبل پیکربندی شده است ، مانند چشمک زدن و راه اندازی مجدد. برای ایجاد اقدامات جدید دستگاه ، به ایجاد یک عمل دستگاه جدید مراجعه کنید.
شکل 12 اقدامات دستگاه.
برای افزودن یک عمل دستگاه به یک تست ، روی Add New Action کلیک کنید ، کادر انتخاب را برای اضافه کردن اقدامات انتخاب کنید و روی Add Action (ها) کلیک کنید. اقدامات دستگاه به صورت متوالی انجام می شود. می توانید با کشیدن آنها ، اقدامات را مرتب کنید.
شکل 13. اقدامات مرتب سازی.
منابع آزمایش را تنظیم کنید
منابع آزمایش پرونده هایی هستند که برای اجرای یک آزمایش آزمایشی لازم هستند. به عنوان مثال ، اجرای CTS به یک فایل android-cts*.zip
نیاز دارد و چشمک زدن به یک دستگاه شما را ملزم به تهیه تصویر ساخت می کند.
URL بارگیری برای پرونده ZIP Test Suite باید به طور پیش فرض به پیوندهای Google Drive که به شرکا داده می شود. با کلیک بر روی مرور می توانید یک فایل متفاوت را انتخاب کنید. در پنجره بازشو می توانید یک لینک بارگیری فایل را وارد کنید ، از یک فایل از یک کانال ساخت تأیید شده استفاده کنید یا یک فایل را بارگذاری کنید تا از ذخیره محلی استفاده کنید.
شکل 14 منابع آزمایش.
در زیر پنجره پنجره برای انتخاب یک منبع تست توسط یک URL وب قرار دارد. می توانید پیوند URL Download را وارد کنید ، و برای تأیید انتخاب بر روی دکمه SELECT کلیک کنید.
شکل 15. انتخاب کننده منابع تست - URL وب.
اگر منابع را در Google Grive ، Google Cloud Storage (GCS) یا کانال های دیگر بارگذاری کرده اید ، می توانید به برگه کانال خاص نیز بروید و منابع را در آنجا انتخاب کنید. در اینجا مثالی برای انتخاب منبع از Google Drive آورده شده است.
شکل 16. انتخاب کننده منابع تست - Google Drive.
In addition to just selecting files, wildcard characters are also supported in Filename field. The documentation can be found here .
Figure 17. Test Resource Selector - Wildcard pattern support.
You can also select a file from OmniLab ATS's local file storage. You can upload files into this storage, or directly use local files and directories .
Figure 18. Test Resource Selector - Local file store.
Add rerun configs
You can schedule reruns that start after the primary run is complete and load its results, but can use different device, actions, or resources.
Figure 19. Adding Rerun Configs.
Start a test run
After you enter the information needed for the test run, click Start Test Run . If all of the information is valid, the test run starts, and you're redirected to a page to view the details and progress of the test run.
Figure 20. Starting a test run.
Create a test plan
Test plans are used to create test runs on a periodic schedule. For example, running CTS 9.0 every day at 5 PM. To create a new test plan, click Create a new test plan .
Figure 21. Creating a test plan.
Configure test plan
Enter the name of the test plan and any labels you want to add. Then select a schedule to use.
- Manual - The test plan creates test runs only when a user clicks Run test plan in the test plan list page.
- Periodic - The test plan automatically schedules test runs on the periodic schedule selected. For example, scheduling a test run every day at 5:00 PM.
- Custom - The test plan autmatically schedules test runs based on the cron expression entered. For example, to schedule a test run every day at 5:00 PM, the cron expression is
0 17 * * *
.
Figure 22. Configuring a test plan.
Add test suites
Add tests suites you want to be scheduled by the test plan by clicking + Add test run configuration . Select a test suite from the Name dropdown and click Next step . Then select the devices you would like to run the test on and click Add Configuration . You can add multiple configurations for each test plan.
Figure 23. Configuring a test run.
Add device actions
Add the device actions you want to be executed before each test run. See Adding device actions for more details.
Figure 24. Adding device actions.
Set test resources
Adding test resources to test plans is the same as adding them to individual test runs. See Setting test resources for more details.
Figure 25. Setting test resources.
View test runs
Test run list
View the list of scheduled test runs on the Test Runs page. Click View to see more details about a test run.
You can also filter the list by entering a string into the filter bar and pressing the Enter key. You can use multiple filters by separating them with a comma. The filter returns all rows that contain the exact text (no substring matching) in any column, excluding Status and Created .
An empty filter returns all rows. There's currently no way to filter for rows with empty values.
Figure 26. Test run list.
Test run details
You can view the details of a test run here, such as the status, logs, and results.
Figure 27. Test run details.
Test run status
The progress for a test run is shown in the Status section. If there's a related message, such as download progress, cancellation reason, or error message, it's shown here as well.
Figure 28. Test run status.
The test run states are:
- Pending - Required resources are being downloaded.
- Queued - The test is ready to be run when a device becomes available.
- Running - The test is running on an allocated device.
- Completed - The test has completed and reported its results.
- Canceled - The test was canceled by the user or timed out while trying to find available devices.
- Error - An error occurred that prevented the test from running.
Cancel a test run
If the test run hasn't completed, you can cancel it by clicking Cancel and then clicking Yes in the confirmation dialog. Test runs are also automatically canceled if they remain in the Queued state longer than the queue_timeout_seconds field. Canceling a test run while in a Running state might take a few minutes to take effect.
Figure 29. Canceling a test run.
Test run results
After a test run has finished, results are collected and displayed. You can view additional details by clicking the arrow for each run. Click View Output Files to see the test artifacts collected, such as test_result.xml
and test_result_failures.html
.
Figure 30. Test run results.
You can view live host and Tradefed logs in the Logs tab.
Figure 31. Logs tab.
The results for individual modules are on the Test Results tab.
Figure 32. Test Results tab.
You can download the files used as test resources by clicking Open in the Test Resources tab.
Figure 33. Test Resources tab.
To see the details of the test run, such as create_time , go to the Config tab.
Figure 34. Config tab.
ویژگی های پیشرفته
Manage config files
OmniLab ATS uses configuration files written in YAML to load predefined options such as tests, build channels, and device actions. Here's an example config file:
// 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
When you set up your OmniLab ATS instance, you can share your configuration with other users by exporting it as a file. To do this, go to the Settings page and click Export in the top right.
Figure 35. Configuration file management.
After your configuration file is downloaded, share the file with other users. They can add the configuration file to their OmniLab ATS instance by clicking Import and selecting the config file.
Create a new device action
Device actions are used for automating the device setup process. Actions are scripts executed on each device the test is running on before each test run, including before retries. To view a list of available device actions, go to the Settings page and click the Device Actions tab. Several device actions come already configured, such as rebooting and flashing.
Figure 36. Device Actions tab.
Add a new device action
Click New device action .
Figure 37. New device action button.
نام و توضیحات را وارد کنید.
Figure 38. Device action name.
Click Add Target Preparer .
Enter the Trade Federation Target Preparer full class name, for example,
com.android.tradefed.targetprep.RunHostCommandTargetPreparer
.Figure 39. Adding a target preparer.
A list of available target preparers can be found in the com.android.tradefed.targetprep reference.
Figure 40. Target Preparer list.
Add any options to use with the target preparer. To view available options, check targetprep for the source code for each target preparer in AOSP:
Figure 41. Action option example.
To add an option, click Add Target Preparer Option and enter the required values.
Figure 42. Action command example.
Define the test resources that are needed to execute the device action, for example, build images for flashing. To add a resource definition, click Add Test Resource and fill in the required fields. If you know where your files are located, you can provide a default download URL by clicking browse . If the target preparers accept directory as test resource, select Decompress . Then specify the relative Destination directory under the temporary working directory and the File Names to be decompressed. If no file names are given, all files are decompressed from the test resource.
Figure 43. Action test resources.
روی Update کلیک کنید.
Figure 44. Action save changes.
Manage tests
Edit a test
To edit a saved test, go to the Tests page and click Edit on the row of the test you want to modify. After changing the test configuration, click Update .
Figure 45. Editing a test.
Add a new test
To add a new test, go to the Tests page and click Create a New Test . Enter the appropriate information and click Create .
Figure 46. Creating a test.
Figure 47. Copying a test.
Export host configurations
After you configure a host, you can export the host's configurations to a file. You can upload this file to other hosts to copy the saved configurations.
To export a host's configurations, go to the Settings page and click Export in the top right corner.
Figure 48. Exporting a host config.
To import a host configuration file, go to the Settings page and click Import in the top right corner.
Figure 49. Importing a host config.
Use local files and directories
Starting in version R11, files in the $HOME/.ats_storage
directory are automatically accessible in OmniLab ATS. Copy or move a file into that directory, then you can select it from the Local File tab when scheduling a test run.
cp /path/to/file $HOME/.ats_storage
Figure 50. Selecting a file from the $HOME/.ats_storage
directory.
You can mount additional directories into the local file store with the --mount_local_path
flag.
mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2
Figure 51. Additional directories mounted in the local file store.
Enable multi-host mode
With Multi-host mode, users can use a single ATS controller host to manage the devices and tests on multiple ATS worker hosts.
Figure 52. Multi-host mode architecture.
To start the ATS controller, use the following command:
mtt start --operation_mode=ON_PREMISE
Check controller is accessible at
http://${CONTROLLER_HOSTNAME}:8000
.To start the workers, use the following command:
mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
If your network doesn't allow hosts to communicate with each other, you need to follow the more advanced setup instructions below on ATS worker.
Connect the two hosts using SSH tunnels. Select ports for the primary and file server ports, for example, 9000 and 9006.
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
Configure and start 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
File cleaner
The file cleaner is a cron job that runs hourly to clean up files based on user-defined configurations. ATS has two default configurations to archive test run results and delete temporary files. This guide explains how to customize the policies and configs to manage your files effectively.
سیاست ها
A policy defines the operation to be performed on files or directories, and the criteria to select targets. Available operations are shown in the table:
نوع عملیات | پارامترها |
---|---|
ARCHIVE | remove_file : If true , remove the file after archiving. |
DELETE |
Criteria are based on file attributes and system information. Available criteria are shown in the table:
Criterion type | توضیحات | پارامترها |
---|---|---|
LAST_MODIFIED_TIME | Filter files based on their last modification date and time. | ttl : Various kinds of time expressions are supported, for example, 10m , 2h , 7 days , 4w . See pytimeparse for supported formats. |
LAST_ACCESS_TIME | Filter files based on their last access date and time. | The same as LAST_MODIFIED_TIME . |
NAME_MATCH | Filter files based on their name using regular expression. | pattern : Regular expression, for example, [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip to match result zips. |
SYSTEM_AVAILABLE_SPACE | Trigger actions based on the available space on the system. | threshold : Trigger action when the available space falls below the threshold, for example, 200 (B), 200KB , 200MB , 200GB , 2TB . |
Figure 53. Add a new file cleaner policy.
تنظیمات
A config combines one or more policies with specific directories. The files and directories within the specified directories are processed based on the defined policies. Policies are applied in the order they appear in the config.
All target directories must be located under the /data
directory. If your config specifies the target directory as logs
, it's interpreted as /data/logs
.
Figure 54. Edit the file cleaner config.
بازنشانی کنید
Clicking Reset Settings reverts the file cleaner configuration to its default state. This action clears ALL custom items.
Figure 55. Reset file cleaner settings.
پشتیبانی کنید
گزارش اشکال
Your contribution to OmniLab ATS helps improve the development of the tool, and we want your input! See the OmniLab ATS release notes for details on the latest release. To report bugs or offer suggestions, file a bug report . Partners should report bugs or suggestions using their partner channels.