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 temelView
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
veDrawer
işlemleri, erişilebilirlik kontrolleri veCountingIdlingResource
.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
- Espresso Kodu Örnekleri eksiksiz bir Espresso örneği içerir.
- TemelÖrnek: Temel Espresso örneği.
- (diğer...)