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

إنّ إنشاء ملف إعداد 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 يتضمّن وصفًا لما يبدو أنّه غير متوفّر أو تم ضبط إعداداته بشكل غير صحيح.