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 temelView
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
veDrawer
işlemleri, erişilebilirlik kontrolleri veCountingIdlingResource
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
- Espresso Kod Örnekleri, Espresso örneklerinin eksiksiz bir seçkisini içerir.
- BasicSample: Temel Espresso örneği.
- (devamı...)