استخدام مجموعة إعادة المحاولة

يميل الجناح إلى تضمين العديد من وحدات الاختبار ويمكن أن يصل إلى حجم مجموعة اختبار كبير جدًا. على سبيل المثال، الروبوت اختبار توافق جناح (CTS) تضم مئات من وحدات ومئات الحالات الآلاف الاختبار.

يصبح من الممكن أن تفشل كمية كبيرة من الاختبارات بسبب ضعف العزل أو دخول الأجهزة في حالة سيئة.

تهدف ميزة إعادة محاولة المجموعة إلى معالجة تلك الحالات: فهي تسمح لك بإعادة محاولة حالات الفشل فقط بدلاً من الأجنحة الكاملة لاستبعاد التقلبات وسوء العزل. إذا كان الاختبار يفشل باستمرار ، فستفشل إعادة المحاولة أيضًا ؛ وتحصل على إشارة أقوى بكثير بأن هناك مشكلة حقيقية.

تنفيذ مجموعة إعادة المحاولة

تتضمن إعادة محاولة النتائج قراءة النتائج السابقة وإعادة تشغيل الاستدعاء السابق.

الواجهة الرئيسية الدافعة لإعادة المحاولة هي ITestSuiteResultLoader ، والذي يسمح لك لتحميل النتيجة السابقة، وسطر الأوامر السابقة.

و RetryRescheduler ثم يستخدم هذه المعلومات لإعادة الأمر السابق وملء بعض المرشحات من أجل اعادة تشغيل فقط الإخفاقات السابقة أو الاختبارات لم ينفذ.

مثال على إعادة محاولة الجناح: CTS

تكوين إعادة المحاولة في CTS هو:

<configuration description="Runs a retry of a previous CTS session.">
    <object type="previous_loader" class="com.android.compatibility.common.tradefed.result.suite.PreviousResultLoader" />
    <test class="com.android.tradefed.testtype.suite.retry.RetryRescheduler" />

    <logger class="com.android.tradefed.log.FileLogger">
        <option name="log-level-display" value="WARN" />
    </logger>
</configuration>

هذا ينطبق على معظم الأجنحة التي تمتد، على سبيل المثال VTS ).

سيتم الاحتجاج به عبر:

cts-tradefed run retry --retry <session>

يمكن العثور على الجلسة من خلال سرد النتائج السابقة في وحدة تحكم CTS:

cts-tf > l r
Session  Pass  Fail  Modules Complete  Result Directory     Test Plan  Device serial(s)  Build ID   Product
0        2092  30    148 of 999        2018.10.29_14.12.57  cts        [serial]          P          Pixel

سيتم إعادة تحميل الأمر الأصلي بالضبط وإعادة تشغيله باستخدام عوامل تصفية إضافية. هذا يعني أنه إذا تضمن الأمر الأصلي بعض الخيارات ، فستكون أيضًا جزءًا من إعادة المحاولة.

على سبيل المثال:

cts-tradefed run cts-dev -m CtsGestureTestCases

إعادة المحاولة ما سبق سوف يكون دائما يحدها إلى CtsGestureTestCases بما أننا إعادة محاولة الأوامر التي يشارك فيها سوى ذلك.

قم بتكوين إعادة المحاولة لمجموعة نمط CTS

لكي تعمل إعادة المحاولة ، يجب تصدير النتائج السابقة بتنسيق أولي. يجب إضافة ما يلي:

<result_reporter class="com.android.compatibility.common.tradefed.result.suite.CompatibilityProtoResultReporter" />

هذا يحتاج إلى أن تضاف إلى تكوين XML الأمر الرئيسي، وسوف يؤدي إلى test-record.pb ملف المراد إنشاؤها في المجلد النتيجة.

إعادة المحاولة CTS ثم البيانات الأحمال من مزيج من test-record.pb والقائمة test_result.xml لإعداد الاحتجاج إعادة المحاولة.