במאמר הזה מוסבר איך להשתמש בסקריפטים של Robo, שהם בדיקות שמבצעות אוטומציה של משימות ידניות של בקרת איכות באפליקציות לנייד, ומאפשרות אינטגרציה רציפה (CI) ואסטרטגיות בדיקה לפני השקת האפליקציה. לדוגמה, אפשר להשתמש בסקריפטים של Robo כדי לבדוק תרחיש נפוץ של משתמשים או לספק קלט ספציפי לממשק המשתמש, כמו שם משתמש וסיסמה. תסריטי Robo הם תכונה של Robo test.
תסריטי Robo משתמשים ב-בדיקת Robo כמנוע הבדיקה. בצורה הכי בסיסית, סקריפט Robo מורכב מרצף של פעולות בממשק המשתמש, כמו הזנת הטקסט 'שם משתמש' ואז הקשה על הלחצן 'אישור'. סקריפטים של Robo יכולים לכלול גם פעולות כמו המתנה להופעת רכיב, הקשה בנקודה ספציפית בתוך רכיב והפעלת פקודות מעטפת של Android Debug Bridge (adb).
לסקריפטים של Robo יש יתרונות לעומת frameworks מסורתיים לבדיקות:
| יכולת | תיאור |
| אמינות גבוהה | סקריפטים של Robo יכולים להתמודד עם הבדלים משמעותיים במבנה ובהתנהגות בין גרסאות של אפליקציות, ועם חוסר יציבות של אפליקציות. |
| שאלה פתוחה | אחרי שתסריט Robo מסתיים, בדיקת Robo יכולה להשתלט ולהמשיך לבדוק את האפליקציה. הגישה הזו מאפשרת כמה תרחישי שימוש מרכזיים. לדוגמה, אפשר להשתמש בתסריט Robo כדי להעביר אפליקציה למצב מסוים על ידי ביצוע תהליך התחברות מותאם אישית. |
| ניתן להקלטה | לא צריך לקודד סקריפטים של Robo באופן ידני. אפשר להקליט אותם באמצעות כלי ההקלטה של סקריפטים של Robo ב-Android Studio. בדרך כלל לא נדרש ידע בפיתוח לנייד כדי ליצור או לשנות סקריפטים של Robo. |
| גמיש | סקריפטים של Robo יכולים ליצור אינטראקציה עם רכיבי ממשק משתמש לא מקוריים שקיימים בדרך כלל במשחקים. |
סקריפטים של Robo מופעלים באופן מותנה במהלך בדיקת Robo, וכך המשתמשים יכולים לשפר את ההתנהגות של Robo – בדרך כלל כדי להשיג כיסוי רחב יותר או לטרגט פונקציונליות ספציפית. בניגוד ל-frameworks מסורתיים לבדיקות, סקריפטים של Robo תומכים בפעולות הבאות:
- תנאי הפעלה שונים, למשל שם חבילת אפליקציה (APK) מסוים פעיל (או לא) או אלמנט ספציפי מוצג על המסך (או לא).
- אמצעי בקרה על ההפעלה, למשל, מספר הפעמים המקסימלי להפעלה, עדיפות, שלב הסריקה הרלוונטי.
- סוגי פעולות לא שגרתיים (מותנות, התעלמות מרכיב, סגירת מסך).
מומלץ להשתמש בסקריפטים של Robo כשאפשר, כי קל לתחזק אותם. לדוגמה, אפשר להשתמש בסקריפט Robo כדי:
- מנווטים בתהליכי עבודה משמעותיים כדי להגיע לליבת הפונקציונליות של האפליקציה. לדוגמה, אפשר להיכנס לחשבון, להגדיר את מצב האפליקציה אחרי ההפעלה הראשונה ולרשום משתמש חדש.
- כדי להפיק את המרב מזמן בדיקת Robo, כדאי להתמקד בחלק מסוים באפליקציה. סקריפט Robo מנחה את בדיקת Robo להגיע לחלק הרלוונטי באפליקציה, שבו בדיקת Robo ממשיכה בסריקה אוטומטית מלאה.
- להעביר אפליקציה למצב או למסך ספציפיים כדי לבצע ניתוח. לדוגמה, כדי לנתח הודעה בתוך האפליקציה, מדיניות פרטיות או רמה ספציפית במשחק.
- מבצעים בדיקת אינסטרומנטציה מקצה לקצה, עם או בלי בדיקת Robo, וממשיכים בסריקה אוטומטית מלאה אחרי השלמת סקריפט Robo.
אפשר להשתמש בתכונות מתקדמות יותר של סקריפטים של Robo כדי:
- לבצע פעולות לפני ש-Robo מתחיל לסרוק את האפליקציה שנבדקת או אחרי שהסריקה מסתיימת, למשל, לנקות את הנתונים של האפליקציה שנבדקת לפני הסריקה או לשנות את הגדרות המכשיר.
- לשנות היבטים בהתנהגות של Robo במהלך סריקה, ובפרט:
- גורמים ל-Robo להתעלם מחלק מהווידג'טים של ממשק המשתמש או ממסכים של אפליקציות.
- אפשר לספק ל-Robo פעולה מותאמת אישית לביצוע כשחוזרים ממסך מסוים.
- אפשר להגדיר ש-Robo יבצע פעולות ספציפיות בכל פעם שהוא יגיע למסך מסוים באפליקציה במהלך הסריקה.
- התאמה אישית מלאה של האופן שבו Robo מבצע סריקה. לדוגמה, אפשר להשתמש בשילוב של פעולות מותנות ולא מותנות כדי להשאיר את האפליקציה שנבדקת ברקע במהלך הסריקה, תוך ביצוע מניפולציות במכשיר וסגירה של כל תיבות הדו-שיח הקופצות שמופיעות במהלך הסריקה.
חשוב לזכור שסקריפטים של Robo לא מחליפים את כל סוגי הבדיקות. עדיין צריך בדיקות יחידה כדי לזהות באגים בלוגיקה ברמה נמוכה באפליקציה. בדרך כלל, הבדיקות האלה לא דורשות סביבת Android או iOS. מומלץ להשלים את בדיקות התסריטים של Robo עם בדיקות מכשור ממוקדות שיכולות לכלול טענות ספציפיות ומפורטות לגבי הלוגיקה העסקית, שמומלץ להביע אותן בקוד.
השלבים הבאים
מידע על המבנה, היכולות, השימוש והפעולות של סקריפטים של Robo מופיע במדריך העזר לסקריפטים של Robo.