إن إنشاء تكوين 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. فيما يلي بعض مواقعهم:
- أدوات/الاتحاد التجاري/الأساسية/الدقة/config
- أدوات/الاتحاد التجاري/الأساسية/الاختبارات/الدقة/config
- أدوات/التأجيل التجاري/المساهمة/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
مع وصف لما يبدو أنه مفقود أو تم تكوينه بشكل خاطئ.