إنشاء إعداد XML واحد وكبير لتحديد اختبار ليس عمليًا دائمًا. إذا أردت إعادة استخدام جزء من عملية الإعداد لإجراء اختبارات مشابهة، سيُطلب منك نسخ ملفَي XML كبيرَين والاحتفاظ بهما.
هذا هو المكان الذي تصبح فيه العلامتان template
وinclude
في تعريف إعداد XML في Tradefed مفيدة. تتيح لك هذه العناصر ضبط عناصر نائبة في بعض إعدادات 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
مع وصف لما يبدو أنّه مفقود أو تم إعداده بشكل غير صحيح.