בודקים את ממשק המשתמש של האפליקציה כדי לוודא שההתנהגות של קוד Compose תקינה. כך תוכלו לזהות שגיאות בשלב מוקדם ולשפר את איכות האפליקציה.
Compose מספק קבוצה של ממשקי API לבדיקה כדי למצוא רכיבים, לאמת את המאפיינים שלהם ולבצע פעולות של משתמשים. ממשקי ה-API כוללים גם תכונות מתקדמות כמו מניפולציה של זמן. אפשר להשתמש בממשקי ה-API האלה כדי ליצור בדיקות חזקות לאימות ההתנהגות של האפליקציה.
צפיות
אם אתם עובדים עם תצוגות במקום עם Compose, תוכלו לעיין בקטע הכללי בדיקת אפליקציות ב-Android.
מקום טוב להתחיל בו הוא המדריך בנושא בדיקות אוטומטיות של ממשק המשתמש. במאמר הזה מוסבר איך לבצע אוטומציה של בדיקות שפועלות במכשיר, כולל כשמשתמשים בתצוגות.
מושגים מרכזיים
ריכזנו כאן כמה מושגים מרכזיים לבדיקה של קוד Compose.
- סמנטיקה: הבדיקות של Compose מבצעות אינטראקציה עם ממשק המשתמש באמצעות סמנטיקה, שמעניקות משמעות לחלקים של ממשק המשתמש ונוצרות לצד היררכיית ממשק המשתמש.
- ממשקי API לבדיקה: Compose מספק ממשקי API לבדיקה למציאת רכיבים, להצהרות על המצב והמאפיינים שלהם ולביצוע פעולות כדי לדמות אינטראקציות של משתמשים.
- סנכרון: כברירת מחדל, הבדיקות של Compose מסתנכרנות באופן אוטומטי עם ממשק המשתמש, ומחכות שהוא יהיה במצב חוסר פעילות לפני ביצוע טענות נכוֹנוּת או פעולות.
- יכולת פעולה הדדית: באפליקציות היברידיות, הבדיקות יכולות לקיים אינטראקציה חלקה עם רכיבים מבוססי-Compose ורכיבים מבוססי-View, ולהשתלב במסגרות בדיקה אחרות.
מדריך למתחילים בנושא בדיקות
במדריך למתחילים בנושא בדיקות תוכלו למצוא סקירה כללית של כל הנושאים העיקריים שצריך ללמוד על בדיקות ב-Compose.
הגדרה
מגדירים את האפליקציה כך שתוכלו לבדוק את הקוד של ה-Compose.
קודם כול, מוסיפים את יחסי התלות הבאים לקובץ build.gradle
של המודול שמכיל את בדיקות ממשק המשתמש:
// Test rules and transitive dependencies:
androidTestImplementation("androidx.compose.ui:ui-test-junit4:$compose_version")
// Needed for createComposeRule(), but not for createAndroidComposeRule<YourActivity>():
debugImplementation("androidx.compose.ui:ui-test-manifest:$compose_version")
המודול הזה כולל ComposeTestRule
והטמעה ל-Android שנקראת AndroidComposeTestRule
. באמצעות הכלל הזה אפשר להגדיר תוכן של Compose או לגשת לפעילות. אפשר ליצור את הכללים באמצעות פונקציות של מפעל, createComposeRule
או, אם צריך גישה לפעילות, createAndroidComposeRule
. בדיקת ממשק משתמש אופיינית ל-Compose נראית כך:
// file: app/src/androidTest/java/com/package/MyComposeTest.kt
class MyComposeTest {
@get:Rule val composeTestRule = createComposeRule()
// use createAndroidComposeRule<YourActivity>() if you need access to
// an activity
@Test
fun myTest() {
// Start the app
composeTestRule.setContent {
MyAppTheme {
MainScreen(uiState = fakeUiState, /*...*/)
}
}
composeTestRule.onNodeWithText("Continue").performClick()
composeTestRule.onNodeWithText("Welcome").assertIsDisplayed()
}
}
מקורות מידע נוספים
- בדיקת אפליקציות ב-Android: דף הנחיתה הראשי של בדיקות Android מספק תצוגה רחבה יותר של העקרונות והשיטות הבסיסיים של בדיקות.
- עקרונות בסיסיים של בדיקה: מידע נוסף על המושגים המרכזיים של בדיקת אפליקציות ל-Android.
- בדיקות מקומיות: אפשר להריץ בדיקות מסוימות באופן מקומי, בתחנת העבודה שלכם.
- בדיקות עם מכשירי מדידה: מומלץ להריץ גם בדיקות עם מכשירי מדידה. כלומר, בדיקות שפועלות ישירות במכשיר.
- אינטגרציה רציפה (CI): אינטגרציה רציפה מאפשרת לשלב את הבדיקות בצינור עיבוד הנתונים לפריסה.
- בדיקה של גדלים שונים של מסכים: מכיוון שיש כל כך הרבה מכשירים שזמינים למשתמשים, כדאי לבדוק את האתר בגדלים שונים של מסכים.
- Espresso: הספרייה מיועדת לממשקי משתמש מבוססי-תצוגה, אבל הידע ב-Espresso עדיין יכול לעזור בחלק מהיבטים של בדיקת Compose.
Codelab
למידע נוסף, אפשר לנסות את codelab של בדיקת Jetpack Compose.
דוגמיות
Founded in 2017, FoxNext Games was created to expand the universes of cherished franchises like The Simpsons, Alien, Ice Age, and Avatar through interactive and immersive next-generation storytelling. With over 50 million reported installs and more than 500,000 five-star ratings, Galaxy Attack is a popular alien shooter game. With more than a million app customers, Evino is an innovative online wine business based in Brazil. With chords and tabs for over 1.1 million songs, Ultimate Guitar (UG) is one of the fastest growing guitarist communities in the world. Rakuten Viki, home of Viki Originals and the annual Soompi Awards, is a premier destination for multicultural youth entertainment and the worlds leading platform for Asian TV shows, movies, and influencer videos – translated into 200+ languages by a community of avid fans. King is a leading interactive entertainment company, with popular mobile games such as Candy Crush Saga, Farm Heroes Saga and Bubble Witch 3 Saga. Jam City is a leading developer in social gaming and the maker of Panda Pop (built with Unity), a top-grossing bubble shooter game with the goal to rescue baby pandas trapped in bubbles! Vimeo was founded by a group of filmmakers who wanted to share their creative work and personal moments from their lives.Marvel Strike Force and Google Play Instant join forces to improve install rate
OneSoft uses instant apps to boost Galaxy Attack install rate by 15%
Evino attracts new customers with Google Play Instant
Ultimate Guitar takes advantage of 10MB limit for instant apps and improves install rate by 8%
Rakuten Viki increases watch time 5x with Google Play Instant
King improves player acquisition with Google Play Instant
Panda Pop finds high-quality players with instant apps
Vimeo increases session duration by 130% with instant apps
אין המלצות כרגע.
אפשר לנסות להיכנס לחשבון Google.