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

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

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

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