אספרסו
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
אפשר להשתמש ב-Espresso כדי לכתוב בדיקות תמציתיות, יפות ואמינות לממשק המשתמש של Android.
קטע הקוד הבא מציג דוגמה לבדיקת אספרסו:
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()));
}

ה-API הבסיסי הוא קטן, צפוי וקל ללמידה, אבל הוא נשאר פתוח בשביל
בהתאמה אישית. Espresso בוחן ציפיות, אינטראקציות וטענות נכונות (assertions) של מצב
בבירור ללא הסחות דעת של תוכן סטנדרטי, תשתית מותאמת אישית,
או פרטי יישום מבולגנים שמפריעים בדרך.
בדיקות אספרסו פועלות במהירות אופטימלית! היא מאפשרת לכם לעזוב את ההמתנה, הסנכרון, השינה
וסקרים מאחור בזמן שהיא מבצעת מניפולציות ומצהירה על זכויות יוצרים באפליקציה
ממשק משתמש במצב מנוחה.
קהל היעד
Espresso מתמקדת במפתחים, שמאמינים שבדיקות אוטומטיות
כחלק ממחזור החיים של הפיתוח. אפשר להשתמש בו גם לסימון קופסה שחורה
וכל היתרונות של Espresso, מי שמכיר את
את ה-codebase בבדיקה.
יכולות סנכרון
בכל פעם שהבדיקה מופעלת
onView()
Espresso ממתין לביצוע הפעולה או טענת הנכונות (assertion) המתאימות בממשק המשתמש עד
יש עמידה בתנאי הסנכרון הבאים:
- בתור ההודעות אין הודעות שנדרשות ל-Espresso באופן מיידי
תהליך האימות.
- אין מופעים של
AsyncTask
שמופעלים כרגע
משימה.
- כל הגדרות המפתח
משאבים פעילים לא פעילים.
על ידי ביצוע הבדיקות האלה, Espresso מגדילה באופן משמעותי את הסבירות
רק פעולה אחת או טענת נכוֹנוּת (assertion) אחת יכולה להתרחש בכל רגע נתון. היכולת הזו
שמספקות תוצאות בדיקה אמינות ומהימנות יותר.
חבילות
espresso-core
– מכיל התאמות, פעולות והתאמות ליבה ובסיסיות של View
טענות נכוֹנוּת (assertions). צפייה
מידע בסיסי
ומתכונים.
espresso-web
– מכיל משאבים לתמיכה ב-WebView
.
espresso-idling-resource
–
המנגנון של Espresso לסנכרון עם משימות ברקע.
espresso-contrib
– תכנים חיצוניים שמכילים DatePicker
,
פעולות של RecyclerView
ו-Drawer
, בדיקות נגישות ו
CountingIdlingResource
espresso-intents
–
תוסף לאימות ולאיתור Intentים לבדיקה הרמטית.
espresso-remote
– מיקום הפונקציונליות ריבוי תהליכים של Espresso.
מידע נוסף על הגרסאות האחרונות זמין
נתוני גרסה.
מקורות מידע נוספים
למידע נוסף על השימוש ב-Espresso בבדיקות Android, אפשר לעיין ב
במקורות המידע הבאים.
דוגמיות
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 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)"]]