Espresso

Kısa, güzel ve güvenilir Android kullanıcı arayüzü testleri yazmak için Espresso'yu kullanın.

Aşağıdaki kod snippet'inde bir Espresso testi örneği gösterilmektedir:

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

Temel API küçük, tahmin edilebilir ve kolay öğrenilebilir olmasına rağmen özelleştirmeye açıktır. Espresso; ortak içerik, özel altyapı veya karmaşık uygulama ayrıntılarının dikkat dağıtmasını engellemeden durum beklentilerini, etkileşimlerini ve onaylarını açık bir şekilde test eder.

Espresso testleri optimum hızda tamamlanır. Bu uygulama boştayken uygulama kullanıcı arayüzüne müdahale edip onay verirken bekleme, senkronizasyon, uyku ve anketlerinizi geride bırakmanıza olanak tanır.

Hedef kitle

Espresso, otomatik testlerin geliştirme yaşam döngüsünün ayrılmaz bir parçası olduğuna inanan geliştiricileri hedefliyor. Kara kutu testi için kullanılabilir ancak test edilen kod tabanını bilenler Espresso'nun tüm gücünün kilidini açabilir.

Senkronizasyon özellikleri

Testinizin onView() yöntemini her çağırışında Espresso, ilgili kullanıcı arayüzü işlemini veya onaylamayı aşağıdaki senkronizasyon koşulları sağlanana kadar gerçekleştirmeyi bekler:

  • Mesaj sırasında Espresso'nun hemen işlemesi gereken herhangi bir mesaj yoktur.
  • Şu anda bir görevi yürüten AsyncTask örneği yok.
  • Geliştirici tarafından tanımlanan tüm boş kaynaklar boştadır.

Espresso, bu kontrolleri yaparak herhangi bir zamanda yalnızca bir kullanıcı arayüzü işlemi veya onayının gerçekleşme olasılığını önemli ölçüde artırır. Bu özellik size daha güvenilir test sonuçları sunar.

Paketler

  • espresso-core - Temel ve temel View eşleyicileri, işlemleri ve onaylamaları içerir. Temel Bilgiler ve Yemek Tarifleri bölümlerine bakın.
  • espresso-web: WebView desteğine yönelik kaynakları içerir.
  • espresso-idling-resource - Espresso'nun arka plan işleriyle senkronizasyon mekanizması.
  • espresso-contrib - DatePicker, RecyclerView ve Drawer işlemleri, erişilebilirlik kontrolleri ve CountingIdlingResource içeren harici katkılar.
  • espresso-intents - Hermetik test için niyetleri doğrulamak ve saplama yapmak amacıyla uzantı.
  • espresso-remote - Espresso'nun çoklu işlem işlevinin konumu.

Sürüm notlarını okuyarak en son sürümler hakkında daha fazla bilgi edinebilirsiniz.

Ek kaynaklar

Android testlerinde Espresso'yu kullanma hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın.

Sana Özel