از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
زمانبندی فرمان تست
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
در Tradefed، هر درخواست آزمایشی از طریق Command Scheduler می رود تا اجرا شود. بنابراین Command Scheduler یک جزء کلیدی از مهار مورد نیاز برای اجرای آزمایشات است.
چرخه زندگی
هنگامی که یک درخواست آزمایشی به Tradefed ارائه میشود (به عنوان مثال، ورودی از کنسول)، قبل از اجرا، رویدادهای زیر را طی میکند:
- درخواست تست تجزیه می شود - یک درخواست آزمایشی معمولاً از یک مرجع پیکربندی XML Tradefed و سپس گزینه ها تشکیل شده است. به عنوان مثال:
> run host --class com.android.tradefed.build.BuildInfoTest
- مدیر دستگاه برای دستگاه(های) مطابق با درخواست آزمایش درخواست می شود - مدیر دستگاه دستگاهی را اختصاص می دهد که با درخواست های آزمایشی مطابقت دارد. برای مثال، اگر یک دستگاه Pixel درخواست شود، Device Manager به دنبال دستگاه Pixel موجود میگردد.
- درخواست آزمایش + دستگاه(های) به عنوان فراخوان شروع می شود - آزمایش شروع می شود.
- انتشار دستگاه - پس از اتمام فراخوانی، دستگاه اختصاص داده شده آزاد می شود و می تواند برای آزمایش های دیگر اختصاص داده شود.
فراخوانی Tradefed
فراخوانی در Tradefed به زمانی اشاره دارد که یک فرمان آزمایشی در حال اجرا است. دستگاههای موجود در فراخوانی بهعنوان allocated
علامتگذاری شدهاند و نمیتوانند توسط آزمایشهای دیگر برای اجرا استفاده شوند.
TF مراحل زیر را به ترتیب انجام می دهد:
- دانلود ساخت و آزمایش مصنوعات
- آماده سازی هدف
- اجرای تست
- پاکسازی هدف
- گزارش نتایج
هر مرحله با جزئیات بیشتری در بخش معماری توضیح داده شده است.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Test Command Scheduler\n\nIn Tradefed, every single test request goes through the\n[Command Scheduler](https://android.googlesource.com/platform/tools/tradefederation/+/refs/heads/android16-release/src/com/android/tradefed/command/CommandScheduler.java)\nto be run. So the Command Scheduler is a key component of the harness needed to\nrun tests.\n\nLifecycle\n---------\n\nWhen a test request is presented to Tradefed (for example, input from the\nconsole), it will go through the following events before being run:\n\n1. *Test request is parsed* - A test request is usually composed of an XML Tradefed configuration reference followed by options. For example: `\u003e run host --class com.android.tradefed.build.BuildInfoTest`\n2. *Device Manager is requested for device(s) matching the test request* - Device Manager [allocates a device](/docs/core/tests/tradefed/architecture/device-manager/device-allocation) that matches the test requests. For example, if a Pixel device is requested then Device Manager will look for an available Pixel device.\n3. *Test request + device(s) starts as an invocation* - Testing is starting.\n4. *Device release* - Once the invocation is finished, the device allocated will be released and can be allocated for other tests.\n\nTradefed invocation\n-------------------\n\nAn invocation in Tradefed refers to when a test command is currently executing.\nDevices included in the invocation are marked as `allocated` and cannot be used\nby other tests to run.\n\nTF will execute the following steps in this order:\n\n1. [Build and test artifacts download](/docs/core/tests/tradefed/architecture/build-provider)\n2. [Target preparation](/docs/core/tests/tradefed/architecture/target-preparer)\n3. [Test execution](/docs/core/tests/tradefed/architecture/advanced/test-runner)\n4. [Target clean up](/docs/core/tests/tradefed/architecture/target-preparer)\n5. [Result reporting](/docs/core/tests/tradefed/architecture/result-reporter)\n\nEach step is described in more detail within the\n[Architecture section](/docs/core/tests/tradefed/architecture)."]]