إسبريسو

يمكنك استخدام Espresso لكتابة اختبارات واجهة المستخدم على Android بشكل مختصر وجميل وموثوق به.

يوضح مقتطف الرمز التالي مثالاً لاختبار الإسبريسو:

Kotlin

@Test
fun greeterSaysHello() {
    onView(withId(R.id.name_field)).perform(typeText("Steve"))
    onView(withId(R.id.greet_button)).perform(click())
    onView(withText("Hello Steve!")).check(matches(isDisplayed()))
}

Java

@Test
public void greeterSaysHello() {
    onView(withId(R.id.name_field)).perform(typeText("Steve"));
    onView(withId(R.id.greet_button)).perform(click());
    onView(withText("Hello Steve!")).check(matches(isDisplayed()));
}

واجهة برمجة التطبيقات الأساسية صغيرة ويمكن التنبؤ بها وسهلة التعلم ولا تزال متاحة للتخصيص. تُجري صحيفة Espresso اختبارات لتعكس التوقعات والتفاعلات وتأكيدات الرأي بوضوح، بدون تشتيت انتباه المحتوى النموذجي أو البنية الأساسية المخصّصة أو تفاصيل التنفيذ الفوضوية التي تقف عائقًا في طريقك.

يتم إجراء اختبارات الإسبريسو بسرعة مثالية. وهو يتيح لك التوقف عن الانتظار والمزامنات وفترات السكون واستطلاعات الرأي أثناء معالجتها وتأكيدها على واجهة المستخدم للتطبيق عندما تكون غير نشطة.

الجمهور المستهدَف

تستهدف قناة Espresso المطوّرين الذين يعتقدون أنّ الاختبار التلقائي هو جزء لا يتجزأ من دورة حياة التطوير. بالرغم من إمكانية استخدام Espresso في اختبار العلبة السوداء، إلا أنّ إمكانياتها الكاملة متاحة من قِبل مَن هم على دراية بقاعدة الرموز التي تخضع للاختبار.

إمكانات المزامنة

في كل مرة يستدعي الاختبار onView()، تنتظر Espresso تنفيذ إجراء أو تأكيد لواجهة المستخدم المقابل إلى أن يتم استيفاء شروط المزامنة التالية:

  • لا تحتوي قائمة انتظار الرسائل على أي رسائل يحتاج الإسبريسو إلى معالجتها على الفور.
  • ما مِن حالات ينفّذ فيها AsyncTask مهمة حاليًا.
  • جميع موارد التوقف عن العمل التي يحددها المطوّر غير نشطة.

من خلال إجراء عمليات الفحص هذه، تزيد Espresso بشكل كبير من احتمال تنفيذ إجراء أو تأكيد واحد فقط عبر واجهة المستخدم في أي وقت. تمنحك هذه القدرة نتائج اختبار أكثر موثوقية وموثوقية.

الطرود

  • espresso-core - يحتوي على أدوات مطابقة View وإجراءات وتأكيدات أساسية وأساسية. راجِع الأساسيات ووصفات الطعام.
  • espresso-web - يحتوي على موارد لدعم WebView.
  • espresso-idling-resource - آلية Espresso للمزامنة مع المهام في الخلفية
  • espresso-contrib - المساهمات الخارجية التي تتضمّن إجراءات DatePicker وRecyclerView وDrawer، وعمليات التحقّق من إمكانية الوصول، وCountingIdlingResource
  • espresso-intents - إضافة للتحقّق من صحة الأغراض المراد اختبارها وإخفاؤها
  • espresso-remote: تحدّد هذه الخاصية مكان الوظيفة متعددة العمليات لقهوة Espresso.

يمكنك معرفة المزيد من المعلومات حول أحدث الإصدارات من خلال قراءة ملاحظات الإصدار.

مراجع إضافية

لمزيد من المعلومات حول استخدام Espresso في اختبارات Android، راجع الموارد التالية.

عيّنات