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 temelView
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
veDrawer
işlemleri, erişilebilirlik kontrolleri veCountingIdlingResource
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
- Espresso Kodu Örnekleri'nde eksiksiz Espresso numuneleri yer alır.
- BasicSample: Temel Espresso örneği.
- (devamı...)