Espresso
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
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
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# Espresso\n\nUse Espresso to write concise, beautiful, and reliable Android UI tests.\n\nThe following code snippet shows an example of an Espresso test:\n\n\u003cbr /\u003e\n\n### Kotlin\n\n```kotlin\n@Test\nfun greeterSaysHello() {\n onView(withId(R.id.name_field)).perform(typeText(\"Steve\"))\n onView(withId(R.id.greet_button)).perform(click())\n onView(withText(\"Hello Steve!\")).check(matches(isDisplayed()))\n}\n```\n\n### Java\n\n```java\n@Test\npublic void greeterSaysHello() {\n onView(withId(R.id.name_field)).perform(typeText(\"Steve\"));\n onView(withId(R.id.greet_button)).perform(click());\n onView(withText(\"Hello Steve!\")).check(matches(isDisplayed()));\n}\n```\n\n\u003cbr /\u003e\n\nThe core API is small, predictable, and easy to learn and yet remains open for\ncustomization. Espresso tests state expectations, interactions, and assertions\nclearly without the distraction of boilerplate content, custom infrastructure,\nor messy implementation details getting in the way.\n\nEspresso tests run optimally fast! It lets you leave your waits, syncs, sleeps,\nand polls behind while it manipulates and asserts on the application\nUI when it is at rest.\n\nTarget audience\n---------------\n\nEspresso is targeted at developers, who believe that automated testing is an\nintegral part of the development lifecycle. While it can be used for black-box\ntesting, Espresso's full power is unlocked by those who are familiar with the\ncodebase under test.\n\nSynchronization capabilities\n----------------------------\n\nEach time your test invokes\n[`onView()`](/reference/androidx/test/espresso/Espresso#onView(org.hamcrest.Matcher%3Candroid.view.View%3E)),\nEspresso waits to perform the corresponding UI action or assertion until the\nfollowing synchronization conditions are met:\n\n- The message queue doesn't have any messages that Espresso needs to immediately process.\n- There are no instances of [AsyncTask](/reference/android/os/AsyncTask) currently executing a task.\n- All developer-defined [idling resources](/training/testing/espresso/idling-resource) are idle.\n\nBy performing these checks, Espresso substantially increases the likelihood that\nonly one UI action or assertion can occur at any given time. This capability\ngives you more reliable and dependable test results.\n\nPackages\n--------\n\n- `espresso-core` - Contains core and basic `View` matchers, actions, and assertions. See [Basics](/training/testing/espresso/basics) and [Recipes](/training/testing/espresso/recipes).\n- [`espresso-web`](/training/testing/espresso/web) - Contains resources for `WebView` support.\n- [`espresso-idling-resource`](/training/testing/espresso/idling-resource) - Espresso's mechanism for synchronization with background jobs.\n- `espresso-contrib` - External contributions that contain `DatePicker`, `RecyclerView` and `Drawer` actions, accessibility checks, and `CountingIdlingResource`.\n- [`espresso-intents`](/training/testing/espresso/intents) - Extension to validate and stub intents for hermetic testing.\n- `espresso-remote` - Location of Espresso's [multi-process](/training/testing/espresso/multiprocess) functionality.\n\nYou can learn more about the latest versions by reading the\n[release notes](/topic/libraries/testing-support-library/release-notes).\n\nAdditional resources\n--------------------\n\nFor more information about using Espresso in Android tests, consult the\nfollowing resources.\n\n### Samples\n\n- [Espresso Code Samples](https://github.com/googlesamples/android-testing) includes a full selection of Espresso samples.\n- [BasicSample](https://github.com/android/testing-samples/tree/main/ui/espresso/BasicSample): Basic Espresso sample.\n- [(more...)](/training/testing/espresso/additional-resources#samples)"]]