אספרסו

אפשר להשתמש ב-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, אפשר לעיין ב במקורות המידע הבאים.

דוגמיות