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

Küçük, tahmin edilebilir ve öğrenmesi kolay olan temel API, birçok seçenek var. Espresso, beklentileri, etkileşimleri ve iddiaları test eder. ve standart içerikler, özel altyapı, veya karmaşık uygulama ayrıntılarının işlemesini zorlaştırabilir.

Espresso testleri optimum hızda çalışır. Zamanınızı ayırıp ufkunuzu bitirmenizi, ve uygulamayı manipüle edip üzerinde hak iddia ederken arka planda anlamaya çalışır. aktif değilken kullanıcı arayüzü.

Hedef kitle

Espresso, otomatik testin önemli olduğuna inanan geliştiricileri hedefler. ayrılmaz bir parçasıdır. Kara kutu için kullanılabilse de kullanan kişiler, Espresso'nun tam gücünün test ediliyor.

Senkronizasyon özellikleri

Testiniz her çağırdığında onView() Espresso, ilgili kullanıcı arayüzü işlemini veya onaylamasını gerçekleştirmek için aşağıdaki senkronizasyon koşulları karşılanır:

  • İleti kuyruğunda, Espresso'nun hemen ilgilenmesi gereken herhangi bir mesaj yok. bahsedeceğim.
  • Şu anda yürütülen AsyncTask örneği yok yürütülen bir tahmindir.
  • Tüm geliştirici tanımlılar Boşta kalan kaynaklar boşta.

Espresso bu kontrolleri yaparak herhangi bir zamanda yalnızca bir UI işlemi veya onayı gerçekleşebilir. Bu olanak daha güvenilir ve güvenilir test sonuçları sunar.

Paketler

  • espresso-core: Temel ve temel View eşleştiricileri, işlemleri ve onaylarıdır. Görüntüleyin Temel Bilgiler ve Yemek Tarifleri.
  • espresso-web: WebView desteği için kaynakları içerir.
  • espresso-idling-resource - Espresso'nun arka plandaki işlerle senkronizasyon mekanizması.
  • espresso-contrib - DatePicker, RecyclerView ve Drawer işlemleri, erişilebilirlik kontrolleri ve CountingIdlingResource.
  • espresso-intents - Hermetik testin amaçlarını doğrulamak ve saplamak için uzantı.
  • espresso-remote - Espresso'nun çoklu işlem işlevinin konumu.

Şu sayfayı okuyarak en son sürümler hakkında daha fazla bilgi edinebilirsiniz: sürüm notları gibidir.

Ek kaynaklar

Android testlerinde Espresso'yu kullanma hakkında daha fazla bilgi için şu sayfaya bakın: inceleyebilirsiniz.

Örnekler