النماذج والعناصر المضمّنة في إعداد ملف XML في Tradefed

ليس من العملي دائمًا إنشاء ملف إعداد XML واحد متكامل لتحديد اختبار. إذا أردت إعادة استخدام جزء من الإعداد لإجراء اختبارات مشابهة، سيُطلب منك نسخ ملفَي XML كبيرَين والاحتفاظ بهما.

هنا يأتي دور علامتَي template وinclude في تعريف إعداد Tradefed XML. تتيحان لك ضبط العناصر النائبة في بعض إعدادات XML لإضافة جزء من إعداد XML آخر.

مثال على تعريف النماذج

<configuration description="Common base configuration for local runs with minimum overhead">
    <build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />

    <template-include name="preparers" default="empty" />

    <template-include name="test" default="empty" />

    <template-include name="reporters" default="empty" />
</configuration>

النماذج هي عناصر نائبة تتضمّن name للإشارة إليها وحقل اختياريًا default. يحدّد الحقل التلقائي ملف XML البديل التلقائي الذي يجب استخدامه.

لاستبدال نموذج لإعداد معيّن، يجب إضافة مَعلمة الأمر التالية إلى سطر الأوامر:

--template:map <name of template>=<replacement XML config path>

--template:map preparers=empty

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

<template-include name="preparers" default="empty" />

تشير الإشارة empty في هذه الحالة إلى إعداد empty.xml الذي لا يحتوي على أي شيء، ونستخدمه كمرجع لنا للاستبدال بلا شيء.

يمكن أن يكون مسار إعدادات XML مطلقًا أو نسبيًا لمجلد res/config داخل موارد JAR في Tradefed. في ما يلي بعض مواقعها:

  • tools/tradefederation/core/res/config
  • tools/tradefederation/core/tests/res/config
  • tools/tradedeferation/contrib/res/config

مثال على تعريف عمليات التضمين

<configuration description="Common base configuration for local runs with minimum overhead">
    <build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />

    <include name="empty"/>
</configuration>

تكون عمليات التضمين أبسط من النماذج لأنّها لا تتطلّب أي وسيطات سطر أوامر، بل توسّع مباشرةً ملف XML المُشار إليه في العلامة name. على غرار النماذج، يمكن أن يكون مسار الإعداد مطلقًا أو نسبيًا. مع ذلك، ننصحك باستخدام المسارات النسبية فقط لعمليات includes لأنّها أكثر قابلية للنقل في Tradefed. لن تكون المسارات المطلقة صالحة إذا تم نقل Tradefed إلى جهاز آخر.

خطأ في الإعداد

في حال حدوث خطأ في الإعداد، مثلاً عندما لا يتم العثور على ملف XML البديل، سيُظهر Tradefed ConfigurationException مع وصف لما يبدو أنّه غير متوفّر أو تم إعداده بشكل غير صحيح.