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