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

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

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

لتحديد أداة جديدة لإعداد تقارير النتائج في 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>