أداة تنفيذ الاختبار هي وحدة التنفيذ لمسار الاستدعاء. هذا هو المكان الذي يتم فيه تنفيذ الاختبار.
واجهات
يتمّ تحديد مشغّلي الاختبار من خلال واجهة IRemoteTest،
التي توفّر طريقة run
بسيطة لتنفيذها سيتمّ استدعاؤها عند تنفيذ
الاختبارات.
يتيح ذلك حدوث أبسط تعريف لتشغيل الاختبار. ولكن في الممارسة العملية، يحتاج مؤلفو الاختبار إلى مزيد من المعلومات لكتابة اختباراتهم بشكل صحيح، وعادةً ما تكون هذه المعلومات متعلّقة بالإصدار والجهاز. هذا هو المكان الذي تكون فيه الواجهات التالية مفيدة.
الإعدادات الأساسية
هاتان الواجهتَان هما الأكثر استخدامًا اليوم، لأنّهما تمثّلان الاحتياجات الأساسية لمعظم الاختبارات.
- يسمح IBuildReceiver
للاختبار بالحصول على عنصر
IBuildInfo
الذي تم إنشاؤه في خطوة موفِّر البناء التي تحتوي على جميع المعلومات والعناصر ذات الصلة بإعداد الاختبار. - يسمح IDeviceTest
لـ TF بتلقّي عنصر
ITestDevice
الذي يمثّل الجهاز قيد الاختبار، كما يوفّر واجهة برمجة تطبيقات للتفاعل معه.
الإعدادات المتقدّمة
هناك واجهات إضافية تسمح بتفاعل أكثر تعقيدًا بين مجموعة أدوات الاختبار وبرنامج تشغيل الاختبار:
- ITestFilterReceiver، الذي يسمح للاختبار بتلقّي مجموعة من الفلاتر لتشغيل اختبارات معيّنة فقط يكون ذلك مفيدًا في تنفيذ مجموعة فرعية من الاختبارات.
- ITestCollector، الذي يسمح لمسؤول تنفيذ الاختبارات بإجراء عمليات محاكاة للاختبارات فقط بدلاً من تنفيذها فعليًا ويُعدّ ذلك مفيدًا في جمع قائمة بجميع حالات الاختبار.
مشغّلو الاختبارات الحاليون
تتوفّر حاليًا مجموعة متنوعة من مشغّلات الاختبارات، وبعضها مخصّص لأنواع الاختبارات الرئيسية:
- AndroidJUnitTest / InstrumentationTest (مرتبط بـ AJUR على جهاز المستخدم)
- GTest (على الجهاز وجانب المضيف) باستخدام مكتبة googletest
- اختبارات المشغَّلة من المضيف (اختبارات Java التي يتم تنفيذها على المضيف والاتصال بالجهاز من هناك)
- اختبارات وحدات Java (يُجري أداة الاختبار كلا الاختبارَين)
- اختبارات Python
- اختبارات Google Benchmark باستخدام مكتبة قياس الأداء
بالإضافة إلى ما سبق، يتوفّر عدد كبير من مشغّلات الاختبار المخصّصة، وهي تخدم أغراضًا متخصّصة لبعض الاختبارات الوظيفية، مثل اختبار التشغيل.
كتابة أداة جديدة لتشغيل الاختبارات
تتوفّر المزيد من الإرشادات حول كتابة أداة جديدة لتشغيل الاختبارات في قسم كتابة الاختبارات.