בדיקות ממשק משתמש של התנהגות
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
בדיקות התנהגות של ממשק המשתמש הן בדיקות שמנתחות את היררכיית ממשק המשתמש כדי לבצע טענות נכוֹנוּת לגבי המאפיינים של רכיבי ממשק המשתמש.
מסגרות של Jetpack
Jetpack כולל frameworks שונים שמספקים ממשקי API לכתיבת בדיקות ממשק משתמש:
- מסגרת הבדיקות של Espresso (Android 4.0.1, API ברמה 14 ואילך) מספקת ממשקי API לכתיבה של בדיקות ממשק משתמש כדי לדמות אינטראקציות של משתמשים עם תצוגות באפליקציית יעד אחת. אחד היתרונות העיקריים של השימוש ב-Espresso הוא שהוא מספק סנכרון אוטומטי של פעולות הבדיקה עם ממשק המשתמש של האפליקציה שאתם בודקים. Espresso מזהה מתי החוט הראשי לא פעיל, כך שהוא יכול להריץ את פקודות הבדיקה בזמן המתאים, וכך לשפר את האמינות של הבדיקות.
- Jetpack Compose (Android 5.0, רמת API 21 ואילך) מספק קבוצה של ממשקי API לבדיקה להפעלה של מסכים ורכיבים ב-Compose וליצירת אינטראקציה איתם. האינטראקציות עם הרכיבים של Compose מסונכרנות עם הבדיקות, ויש לכם שליטה מלאה על הזמן, על האנימציות ועל הלחנים מחדש.
- UI Automator (Android 4.3, API ברמה 18 ואילך) הוא framework לבדיקת ממשק משתמש, שמתאים לבדיקת ממשק משתמש פונקציונלי בכל האפליקציות, בכל המערכת ובאפליקציות המותקנות. ממשקי API Automator API מאפשרים לבצע פעולות כמו פתיחה של תפריט ההגדרות או מרכז האפליקציות במכשיר בדיקה.
- באמצעות Robolectric (Android 4.1, API ברמה 16 ואילך) אפשר ליצור בדיקות מקומיות שפועלות בתחנת העבודה או בסביבת האינטגרציה הרציפה ב-JVM רגיל, במקום באמולטור או במכשיר. הוא יכול להשתמש בממשקי API לבדיקה של Espresso או Compose כדי לקיים אינטראקציה עם רכיבי ממשק המשתמש.
מקורות מידע נוספים
מידע נוסף על יצירת בדיקות ממשק משתמש זמין במקורות המידע הבאים.
מסמכים
Codelabs
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. 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,["# Behavior UI Tests\n\nBehavior UI tests are tests that analyze the UI hierarchy to make assertions\non the properties of the UI elements.\n\nJetpack frameworks\n------------------\n\nJetpack includes various frameworks that provide APIs for writing UI tests:\n\n- The **[Espresso testing framework](/training/testing/espresso)** (Android 4.0.1, API level 14 or higher) provides APIs for writing UI tests to simulate user interactions with *Views* within a single target app. A key benefit of using Espresso is that it provides automatic synchronization of test actions with the UI of the app you are testing. Espresso detects when the main thread is idle, so it is able to run your test commands at the appropriate time, improving the reliability of your tests.\n- **[Jetpack Compose](/jetpack/compose)** (Android 5.0, API level 21 or higher) provides a set of [*testing APIs*](/jetpack/compose/testing) to launch and interact with Compose screens and components. Interactions with Compose elements are synchronized with tests and have complete control over time, animations and recompositions.\n- **[UI Automator](/training/testing/ui-automator)** (Android 4.3, API level 18 or higher) is a UI testing framework suitable for cross-app functional UI testing across system and installed apps. The UI Automator APIs allows you to perform operations such as opening the Settings menu or the app launcher on a test device.\n- **[Robolectric](/training/testing/local-tests/robolectric)** (Android 4.1, API level 16 or higher) lets you create *local* tests that run on your workstation or continuous integration environment in a regular JVM, instead of on an emulator or device. It can use Espresso or Compose testing APIs to interact with UI components.\n\nAdditional resources\n--------------------\n\nFor more information about creating UI tests, consult the following resources.\n\n### Documentation\n\n- [Build instrumented tests](/training/testing/instrumented-tests)\n- [Espresso](/training/testing/espresso)\n- [Compose Testing](/jetpack/compose/testing)\n\n### Codelabs\n\n- [Introduction to Test Doubles and Dependency Injection](/codelabs/advanced-android-kotlin-training-testing-test-doubles)"]]