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 öğrenmesi kolay olmasına rağmen özelleştirmeye açıktır. Espresso; ortak içerik, özel altyapı veya karmaşık uygulama ayrıntıları dikkatleri dağılmadan durum beklentilerini, etkileşimlerini ve iddialarını açık bir şekilde test eder.

Espresso testleri optimum hızda tamamlanır. Aktif olmayan uygulama kullanıcı arayüzü üzerinde düzenleme yapıp doğrulama yaparken bekleme, senkronizasyon, uyku ve anket yapma işlemlerini bir kenarda bırakmanızı sağlar.

Hedef kitle

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

Senkronizasyon özellikleri

Testiniz onView()'i her çağırdığında, Espresso aşağıdaki senkronizasyon koşulları sağlanana kadar ilgili kullanıcı arayüzü işlemini veya onaylamayı 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 gerçekleştirerek herhangi bir anda 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 ve güvenilir test sonuçları sunar.

Paketler

  • espresso-core - Temel ve temel View eşleştiricileri, işlemleri ve onaylarını içerir. Temel Bilgiler ve Yemek Tarifleri bölümlerine bakın.
  • espresso-web: WebView desteği için 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 doğrulama ve saplama amaçları uzantısı.
  • 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