اجرای تست های خودکار CTS (اندروید 11 یا بالاتر)

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

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

  • OmniLab Android Test Station برنامه ای است که به شما امکان می دهد آزمایش ها را در یک رابط کاربری گرافیکی اجرا کنید.

این صفحه نحوه اجرای تست های خودکار با استفاده از Trade Federation را توضیح می دهد. برای دستورالعمل‌های مربوط به اجرای آزمایش‌ها با استفاده از مهار تست اندروید OmniLab، به ایستگاه تست اندروید OmniLab مراجعه کنید.

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

Trade Federation شامل کنسول 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 خودکار اجرا می شوند. به موارد زیر توجه کنید:

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

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

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

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

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

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

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

اگر دستگاه شما دارای Android 11 یا 12 است و دستگاه شما دارای چندین صفحه است، باید برنامه آزمایشی 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
    

بهبود زمان اجرای آزمون

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

برای اشتراک‌گذاری تست‌ها در Android 11 یا بالاتر، اجرا کنید:

run cts --shard-count number_of_shards

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