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