اسپرسو

از اسپرسو برای نوشتن تست های مختصر، زیبا و قابل اعتماد رابط کاربری اندروید استفاده کنید.

قطعه کد زیر نمونه ای از تست اسپرسو را نشان می دهد:

کاتلین

@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()))
}

جاوا

@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()));
}

API اصلی کوچک، قابل پیش‌بینی و یادگیری آسان است و در عین حال برای سفارشی‌سازی باز است. اسپرسو انتظارات، فعل و انفعالات و اظهارات دولت را به وضوح بدون حواس پرتی محتوای دیگ بخار، زیرساخت های سفارشی یا جزئیات اجرای آشفته آزمایش می کند.

تست اسپرسو با سرعت بهینه اجرا می شود! این به شما امکان می‌دهد انتظارها، همگام‌سازی‌ها، خواب‌ها و نظرسنجی‌های خود را در زمانی که رابط کاربری برنامه در حالت استراحت است دستکاری و اظهارنظر کند، پشت سر بگذارید.

مخاطب هدف

اسپرسو توسعه دهندگانی را هدف قرار داده است که معتقدند تست خودکار بخشی جدایی ناپذیر از چرخه عمر توسعه است. در حالی که می توان از آن برای تست جعبه سیاه استفاده کرد، قدرت کامل اسپرسو توسط کسانی که با پایگاه کد مورد آزمایش آشنا هستند باز می شود.

قابلیت های همگام سازی

هر بار که تست شما onView() را فراخوانی می‌کند، اسپرسو منتظر می‌ماند تا عمل یا ادعای UI مربوطه را انجام دهد تا شرایط همگام‌سازی زیر برآورده شود:

  • صف پیام هیچ پیامی ندارد که اسپرسو باید فوراً آنها را پردازش کند.
  • هیچ نمونه‌ای از AsyncTask در حال اجرای یک کار وجود ندارد.
  • همه منابع غیرفعال تعریف شده توسط توسعه دهندگان بیکار هستند.

با انجام این بررسی‌ها، اسپرسو به طور قابل ملاحظه‌ای این احتمال را افزایش می‌دهد که تنها یک اقدام یا ادعای UI در هر زمان معین رخ دهد. این قابلیت نتایج تست قابل اعتمادتر و قابل اعتمادتری را به شما می دهد.

بسته ها

  • espresso-core - شامل View ، اقدامات و ادعاهای اصلی و اصلی است. به اصول و دستور العمل ها مراجعه کنید.
  • espresso-web - حاوی منابعی برای پشتیبانی WebView است.
  • espresso-idling-resource - مکانیسم اسپرسو برای همگام سازی با مشاغل پس زمینه.
  • espresso-contrib - مشارکت‌های خارجی که شامل اقدامات DatePicker ، RecyclerView و Drawer ، بررسی‌های دسترسی، و CountingIdlingResource هستند.
  • espresso-intents - برنامه افزودنی برای تأیید اعتبار و مقاصد خرد برای آزمایش هرمتیک.
  • espresso-remote - محل عملکرد چند فرآیندی اسپرسو.

با خواندن یادداشت های انتشار می توانید درباره آخرین نسخه ها اطلاعات بیشتری کسب کنید.

منابع اضافی

برای اطلاعات بیشتر در مورد استفاده از اسپرسو در تست های اندروید به منابع زیر مراجعه کنید.

نمونه ها