ایستگاه تست اندروید OmniLab

OmniLab ATS یک ابزار آزمایشی است که توسعه دهندگان اندروید و مهندسان آزمایش می توانند از آن برای استفاده از یک رابط کاربری برای اجرای مجموعه های تست استاندارد اندروید، مانند مجموعه تست سازگاری اندروید (CTS) استفاده کنند. این ابزار به‌عنوان یک رابط وب برای چارچوب‌های آزمایشی مختلف مانند Trade Federation (TF) و Google Mobly عمل می‌کند و به شما امکان می‌دهد تا آزمایش‌های CTS و چند دستگاهی را روی مجموعه‌ای از دستگاه‌های آزمایشی با حداقل تنظیمات اجرا کنید، و همچنین یک برنامه زمان‌بندی برای آن‌ها ایجاد کنید. به طور مداوم تست ها را اجرا کنید

OmniLab ATS را راه اندازی کنید

این بخش نحوه نصب و راه اندازی OmniLab ATS را توضیح می دهد.

OmniLab ATS از کد منبع از این مکان ها استفاده می کند:

OmniLab ATS را نصب کنید

برای مجموعه‌های آزمایشی که اجرا می‌کنید، از الزامات سخت‌افزاری و نرم‌افزاری پیروی کنید.

الزامات CTS در source.android.com یافت می شود.

هیچ نیاز سخت افزاری اضافی برای OmniLab ATS وجود ندارد، اما توصیه می کنیم از نیاز میزبان CTS به عنوان نقطه شروع استفاده کنید.

دو راه برای نصب OmniLab ATS وجود دارد:

با برنامه نصب کننده نصب کنید

در اوبونتو 20.04+، برنامه نصب کننده تمام برنامه ها و منابع مورد نیاز برای اجرای OmniLab ATS را نصب و پیکربندی می کند.

برای استفاده از برنامه نصب:

  1. برنامه نصب کننده را اجرا کنید:

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. mtt version اجرا کنید تا نسخه نصب شده OmniLab ATS CLI را بررسی کنید.

به صورت دستی نصب کنید

Docker را نصب کنید
  1. دستورالعمل‌های نصب Docker Community Edition (CE) را روی دستگاه لینوکس خود دنبال کنید.

  2. برای مدیریت Docker به عنوان یک کاربر غیر ریشه، مراحل پس از نصب را دنبال کنید.

  3. ممکن است لازم باشد پنجره ترمینال خود را مجددا راه اندازی کنید یا از سیستم خارج شوید و دوباره وارد سیستم شوید تا تغییرات مجوز اعمال شوند.

پایتون 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 اختیاری را وارد کنید.

تنظیمات Wi-Fi

شکل 5. تنظیمات نقطه اتصال Wi-Fi.

پس از تکمیل Setup Wizard، صفحه با اعمال تنظیمات جدید بارگیری مجدد می شود.

یک دستگاه را وصل کنید

برای استفاده از دستگاه برای آزمایش، اشکال زدایی USB باید فعال باشد. برای فعال کردن اشکال زدایی:

  1. دستورالعمل‌های موجود در Enable developer options and debugging را دنبال کنید.

  2. اگر قصد دارید از ساخت‌های آزمایشی Android استفاده کنید که از قبل با کلیدهای ADB سفارشی بارگذاری شده‌اند، فایل‌های سفارشی .adb_key را در فهرست ~/.android/ قرار دهید.

    فایل‌ها به‌طور خودکار بارگیری می‌شوند و به ADB منتقل می‌شوند تا پس از فلش شدن دستگاه برای دستگاه‌هایی که این بیلدها را اجرا می‌کنند، اشکال‌زدایی USB را به طور خودکار فعال کند.

  3. دستگاه را با استفاده از 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. اجرای آزمایشی قبلی از راه دور.

دستگاه ها را انتخاب کنید

برای انتخاب دستگاه‌هایی که برای اجرای مجموعه آزمایشی اختصاص داده می‌شوند، روی کادرهای تأیید کلیک کنید. تعداد قطعات باید به طور خودکار تغییر کند تا با تعداد دستگاه های انتخاب شده مطابقت داشته باشد.

Devices را انتخاب کنید

شکل 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 دانلود را وارد کنید و برای تایید انتخاب روی دکمه انتخاب کلیک کنید.

انتخابگر منبع تست - URL وب

شکل 15. انتخابگر منبع تست - URL وب.

اگر منابعی را در Google Grive، Google Cloud Storage (GCS) یا کانال‌های دیگر آپلود کرده‌اید، می‌توانید به برگه کانال خاص بروید و منابع را در آنجا انتخاب کنید. در اینجا یک مثال برای انتخاب یک منبع از درایو گوگل آورده شده است.

انتخابگر منبع آزمایشی - Google Drive

شکل 16. انتخابگر منبع تست - Google Drive.

علاوه بر انتخاب فایل‌ها، کاراکترهای wildcard نیز در قسمت Filename پشتیبانی می‌شوند. اسناد را می توان در اینجا یافت.

انتخابگر منبع تست - پشتیبانی از الگوی عام

شکل 17. انتخابگر منبع تست - پشتیبانی از الگوی عام.

شما همچنین می توانید یک فایل را از ذخیره سازی فایل محلی OmniLab ATS انتخاب کنید. می‌توانید فایل‌ها را در این حافظه آپلود کنید یا مستقیماً از فایل‌ها و فهرست‌های محلی استفاده کنید .

انتخابگر منبع تست - فروشگاه فایل محلی

شکل 18. انتخابگر منبع تست - ذخیره فایل محلی.

پیکربندی های اجرای مجدد را اضافه کنید

می‌توانید اجرای مجددی را که پس از اتمام اجرای اولیه شروع می‌شود، برنامه‌ریزی کنید و نتایج آن را بارگیری کنید، اما می‌توانید از دستگاه‌ها، اقدامات یا منابع مختلف استفاده کنید.

تنظیمات Rerun را اضافه کنید

شکل 19. اضافه کردن تنظیمات مجدد.

اجرای آزمایشی را شروع کنید

پس از وارد کردن اطلاعات مورد نیاز برای اجرای آزمایشی، روی Start Test Run کلیک کنید. اگر همه اطلاعات معتبر باشند، اجرای آزمایشی شروع می شود و برای مشاهده جزئیات و پیشرفت آزمایش به صفحه ای هدایت می شوید.

اجرای تست را شروع کنید

شکل 20. شروع یک اجرای آزمایشی.

یک طرح آزمایشی ایجاد کنید

برنامه های آزمایشی برای ایجاد اجرای آزمایشی در یک برنامه دوره ای استفاده می شود. به عنوان مثال، اجرای CTS 9.0 هر روز در ساعت 5 بعد از ظهر. برای ایجاد یک طرح آزمایشی جدید، روی ایجاد طرح آزمایشی جدید کلیک کنید.

برنامه آزمایشی ایجاد کنید

شکل 21. ایجاد یک طرح آزمایشی.

پیکربندی طرح آزمایشی

نام طرح آزمایشی و هر برچسبی را که می خواهید اضافه کنید وارد کنید. سپس یک برنامه زمانی برای استفاده انتخاب کنید.

  • راهنما - طرح آزمایشی فقط زمانی اجراهای آزمایشی را ایجاد می کند که کاربر روی اجرای طرح آزمایشی در صفحه لیست طرح آزمایشی کلیک کند.
  • دوره ای - طرح آزمون به طور خودکار اجرای آزمایشی را بر اساس برنامه دوره ای انتخاب شده برنامه ریزی می کند. به عنوان مثال، برنامه ریزی یک آزمون آزمایشی هر روز در ساعت 5:00 بعد از ظهر.
  • سفارشی - طرح آزمایشی به طور خودکار اجرای آزمایشی را بر اساس عبارت cron وارد شده برنامه ریزی می کند. به عنوان مثال، برای برنامه‌ریزی یک آزمایش آزمایشی هر روز در ساعت 5:00 بعد از ظهر، عبارت cron 0 17 * * * است.

پیکربندی طرح آزمایشی

شکل 22. پیکربندی یک طرح آزمایشی.

مجموعه های آزمایشی را اضافه کنید

با کلیک روی + افزودن پیکربندی اجرای آزمایشی، مجموعه‌های آزمایشی را که می‌خواهید توسط طرح آزمایشی برنامه‌ریزی شوند، اضافه کنید. یک مجموعه آزمایشی را از منوی کشویی Name انتخاب کنید و روی مرحله بعدی کلیک کنید. سپس دستگاه‌هایی را که می‌خواهید آزمایش را روی آن‌ها اجرا کنید انتخاب کنید و روی Add Configuration کلیک کنید. برای هر طرح آزمایشی می توانید چندین پیکربندی اضافه کنید.

اجرای تست را پیکربندی کنید

شکل 23. پیکربندی اجرای آزمایشی.

اقدامات دستگاه را اضافه کنید

اقدامات دستگاهی را که می خواهید قبل از هر آزمایش آزمایشی اجرا کنید اضافه کنید. برای جزئیات بیشتر به افزودن اقدامات دستگاه مراجعه کنید.

افزودن Device Actions

شکل 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 بروید.

Tab 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 کلیک کنید. چندین عملکرد دستگاه از قبل پیکربندی شده اند، مانند راه اندازی مجدد و چشمک زدن.

تب Device Actions

شکل 36. تب Device Actions.

یک اقدام دستگاه جدید اضافه کنید

  1. روی New device action کلیک کنید.

    دکمه اقدام دستگاه جدید

    شکل 37. دکمه عملکرد دستگاه جدید.

  2. نام و توضیحات را وارد کنید.

    نام اقدام دستگاه

    شکل 38. نام عمل دستگاه.

  3. روی Add Target Preparer کلیک کنید.

  4. نام کامل کلاس Trade Federation Target Preparer را وارد کنید، به عنوان مثال، com.android.tradefed.targetprep.RunHostCommandTargetPreparer .

    آماده ساز هدف را اضافه کنید

    شکل 39. افزودن یک آماده کننده هدف.

    فهرستی از آماده‌کننده‌های هدف موجود را می‌توانید در مرجع com.android.tradefed.targetprep پیدا کنید.

    لیست آماده کننده هدف

    شکل 40. لیست آماده کننده هدف.

  5. هر گزینه ای را برای استفاده با آماده کننده هدف اضافه کنید. برای مشاهده گزینه های موجود، targetprep را برای کد منبع هر آماده کننده هدف در AOSP بررسی کنید:

    مثال گزینه عمل

    شکل 41. مثال گزینه عمل.

  6. برای افزودن یک گزینه، روی Add Target Preparer Option کلیک کرده و مقادیر مورد نیاز را وارد کنید.

    مثال دستور عمل

    شکل 42. مثال دستور عمل.

  7. منابع آزمایشی که برای اجرای اکشن دستگاه مورد نیاز است را تعریف کنید، به عنوان مثال، ساخت تصاویر برای چشمک زدن. برای افزودن تعریف منبع، روی افزودن منبع آزمایشی کلیک کنید و فیلدهای مورد نیاز را پر کنید. اگر می‌دانید فایل‌های شما در کجا قرار دارند، می‌توانید با کلیک بر روی مرور، یک URL دانلود پیش‌فرض ارائه دهید. اگر آماده‌کننده‌های هدف دایرکتوری را به عنوان منبع آزمایشی می‌پذیرند، Decompress را انتخاب کنید. سپس دایرکتوری Destination نسبی را در زیر پوشه کاری موقت و File Names را که باید از حالت فشرده خارج شوند، مشخص کنید. اگر نام فایلی داده نشده باشد، همه فایل ها از منبع تست از حالت فشرده خارج می شوند.

    منابع آزمون اقدام

    شکل 43. منابع آزمون اقدام.

  8. روی Update کلیک کنید.

    Action Save Changes

    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. معماری حالت چند میزبان.

  1. برای راه اندازی کنترلر ATS از دستور زیر استفاده کنید:

    mtt start --operation_mode=ON_PREMISE
    
  2. کنترلر چک در http://${CONTROLLER_HOSTNAME}:8000 قابل دسترسی است.

  3. برای راه اندازی کارگران از دستور زیر استفاده کنید:

    mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
    

اگر شبکه شما به هاست‌ها اجازه نمی‌دهد با یکدیگر ارتباط برقرار کنند، باید دستورالعمل‌های راه‌اندازی پیشرفته‌تر زیر را در ATS worker دنبال کنید.

  1. دو هاست را با استفاده از تونل های SSH به هم وصل کنید. پورت ها را برای پورت های سرور اصلی و فایل، به عنوان مثال، 9000 و 9006 انتخاب کنید.

    ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
    
  2. 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 . شرکا باید اشکالات یا پیشنهادات خود را با استفاده از کانال های شریک خود گزارش دهند.