إنشاء أداة إعداد تقارير النتائج

تصف هذه الصفحة أساسيات طريقة تنفيذ مراسل جديد للنتائج قم بتكوينه للاختبار.

الواجهة الأساسية

من أجل تحديد مراسل نتائج جديد في Tradefed، يجب تنفيذ الفئة الـ ITestInvocationListener تسمح بتلقي مراحل مختلفة من البيانات والتعامل معها، الاستدعاء:

  • invocationStarted
  • invocationEnded
  • invocationFailed

يتعامل مراسلو النتائج أيضًا مع المراحل المختلفة لكل إجراء اختبار:

  • testRunStarted
  • testStarted
  • testFailed أو testIgnored
  • testEnded
  • testRunFailed
  • testRunEnded

في ما يتعلّق بكل هذه الأحداث، هناك نوعان رئيسيان من تقارير النتائج، وهما:

  • لا تهتم سوى بالإبلاغ عن النتائج النهائية الكاملة.
  • اتّخاذ إجراء بشأن النتائج الجزئية

جهة الإبلاغ عن النتائج التي تبلغ النتائج النهائية الكاملة

هذا النوع هو الحالة الأكثر شيوعًا عندما يتعلق الأمر بالتفاعل مع طرف خدمة تتلقى النتائج. فكان المراسل الصحفي يتلقى بيانات ويجمعها النتائج ثم يرسلها جميعًا على invocationEnded إلى نقطة نهاية النتيجة.

ننصحك بأن يوفّر هؤلاء المُبلِغون CollectingTestListener بدلاً من الواجهة الأساسية لتجنُّب إعادة تنفيذ حفظ النتائج وتخزينها إلى أن يتم طرح invocationEnded.

أداة إعداد تقارير النتائج التي تُبلغ عن نتائج جزئية

يُستخدم هذا النوع عادةً في منهج بث النتائج، عندما تؤدي النتائج يتم إرسالها ودفعها إلى بعض الأماكن الأخرى على الفور. على سبيل المثال، يكون مُرسِل التقارير الذي يسجّل النتائج في وحدة التحكّم من هذا النوع.

ويرتبط هذا النوع بنوع المناولة المطلوب في الأحداث، لذا، يُنصَح باستخدام الواجهة الأساسية.

إعدادات XML

علامة الكائن هي result_reporter. مثلاً:

<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
    <option name="suppress-passed-tests" value="true"/>
</result_reporter>