اجرای تست‌های خودکار (اندروید 11 یا بالاتر)، اجرای آزمایش‌های خودکار (اندروید 11 یا بالاتر)

دو گزینه برای اجرای تست‌های خودکار CTS وجود دارد:

  • فدراسیون تجارت یک چارچوب برنامه و تست است که به شما امکان می‌دهد تست‌ها را از خط فرمان اجرا کنید. اساساً، این چارچوب به شما امکان می‌دهد تست‌ها را با استفاده از حاشیه‌نویسی @Test حاشیه‌نویسی کنید و برنامه آن تست‌ها را پیدا و اجرا می‌کند.

  • ایستگاه تست اندروید OmniLab برنامه‌ای است که به شما امکان می‌دهد تست‌ها را در یک رابط کاربری گرافیکی اجرا کنید.

این صفحه نحوه اجرای تست‌های خودکار با استفاده از Trade Federation را توضیح می‌دهد. برای دستورالعمل‌های اجرای تست‌ها با استفاده از OmniLab Android Test Harness، به OmniLab Android Test Station مراجعه کنید.

تمام تست‌های خودکار CTS را اجرا کنید

فدراسیون تجارت شامل کنسول CTS ، یک رابط خط فرمان برای اجرای تست‌ها است. برای اجرای کل مجموعه تست خودکار CTS:

  1. مطمئن شوید که دستورالعمل‌های موجود در بخش «تنظیم تست خودکار CTS» را دنبال کرده‌اید.
  2. در ایستگاه کاری آزمایشی خود، کنسول CTS را با اجرای اسکریپت cts-tradefed از پوشه‌ای که بسته CTS از حالت فشرده خارج شده است، راه‌اندازی کنید:

    ./android-cts/tools/cts-tradefed
    

    کنسول CTS یک مکان‌نما برای تایپ دستورات CTS نمایش می‌دهد ( cts-tradefed > ).

  3. طرح تست cts شامل تمام تست‌های خودکار CTS است. برای اجرای طرح تست cts ، دستور زیر را اجرا کنید:

    run cts
    

    تست‌های خودکار CTS اجرا می‌شوند. به موارد زیر توجه کنید:

    • اندروید ۱۳ و بالاتر از تست چند دستگاهی پشتیبانی می‌کند. این تست‌ها فقط زمانی که از sharding استفاده می‌شود، به طور خودکار اجرا می‌شوند. برای اطلاعات بیشتر در مورد sharding، به بهبود زمان اجرای تست مراجعه کنید. اگر می‌خواهید این تست‌ها را به صورت دستی اجرا کنید، به اجرای تست‌های چند دستگاهی مراجعه کنید.

    • هر زمان که CTS را اجرا می‌کنید، کلیدهای ctrl+c را فشار دهید تا کنسول CTS موجود متوقف شود و سپس کنسول CTS را دوباره اجرا کنید.

    • شما نمی‌توانید چندین نسخه CTS را روی یک میزبان واحد اجرا کنید زیرا هر کدام با یک سرور کد مکان باز (OLC) موجود باز می‌شوند.

  4. نتایج آزمایش را مشاهده کنید. برای اطلاعات بیشتر، به تفسیر نتایج CTS مراجعه کنید.

  5. اگر این اولین اجرای آزمایشی شماست، ممکن است آزمایش‌هایی وجود داشته باشند که به دلیل مسائلی خارج از کنترل شما با شکست مواجه شوند. برای مثال، ممکن است اتصال شبکه کند باشد یا سیگنال GPS ضعیف باشد. آزمایش‌ها را دوباره اجرا کنید (امتحان مجدد کنید) تا زمانی که تمام ماژول‌های آزمایشی تکمیل شوند و تعداد شکست‌های آزمایش بین دو جلسه‌ی تلاش مجدد آخر یکسان باشد:

    run retry --retry session_number`
    
  6. پس از اینکه تعداد شکست‌های تست در تلاش‌های مجدد ثابت ماند، روی اشکال‌زدایی تست‌های ناموفق باقی‌مانده تمرکز کنید. برای اطلاعات بیشتر در مورد عیب‌یابی نتایج تست، به بخش Triage test failures و Troubleshoot CTS tests مراجعه کنید.

اجرای CTS برای دستگاه‌های چندصفحه‌ای

اگر دستگاه شما اندروید ۱۱ یا ۱۲ را اجرا می‌کند و چندین صفحه نمایش دارد، باید طرح تست cts-foldable را جداگانه اجرا کنید:

run cts-foldable

موارد تست پذیرفته شده یا ناموفق برای حالت صفحه نمایش جایگزین با مقدار display_mode ضمیمه می‌شوند، برای مثال، testcase1[display_mode=0] .

اجرای تست‌های چند دستگاهی (اندروید ۱۵ یا پایین‌تر)

برای اجرای طرح تست cts-multidevice ، دستور زیر را اجرا کنید:

run cts-multidevice

اجرای طرح‌های تست انفرادی

به جای اجرای همزمان همه طرح‌های تست، می‌توانید طرح‌های تست جداگانه را اجرا کنید. این گزینه برای صرفه‌جویی در زمان و تمرکز روی مجموعه‌ای خاص از تست‌ها مفید است. برای اجرای یک طرح تست جداگانه:

  1. با اجرای دستور list modules نام طرح آزمایشی که می‌خواهید اجرا کنید را مشخص کنید.

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

    run cts --plan test_module_or_plan_name
    

بهبود زمان اجرای تست

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

برای تست‌های خرد کردن (shard) در اندروید ۱۱ یا بالاتر، دستور زیر را اجرا کنید:

run cts --shard-count number_of_shards

علاوه بر این، قبل از اجرای تست‌های خود برای اعتبارسنجی، می‌توانید با استفاده از دستور CTS run cts-dev زمان اجرای تست را بهبود بخشید. این دستور پیش‌شرط‌ها، جمع‌آوری اطلاعات دستگاه و تمام بررسی‌کننده‌های وضعیت سیستم را نادیده می‌گیرد. همچنین تست‌ها را فقط روی یک ABI واحد اجرا می‌کند.