הרצת סקריפט של Robo (iOS ואילך)

במסמך הזה מוסבר איך להשתמש בסקריפטים של Robo. אלה בדיקות שמבצעות אוטומציה של משימות בקרת איכות ידניות לאפליקציות לנייד, ומאפשרות אינטגרציה רציפה (CI) ואסטרטגיות בדיקה לפני השקה. לדוגמה, אפשר להשתמש בסקריפטים של Robo כדי לבדוק תהליך משתמש נפוץ או לספק קלט ספציפי לממשק המשתמש (UI), כמו שם משתמש וסיסמה. סקריפטים Robo הם תכונה של Robo test.

סקריפטים של Robo משתמשים ב-בדיקת Robo בתור מנוע הבדיקה. בצורתו הבסיסית ביותר, סקריפט של Robo מורכב מרצף של פעולות בממשק המשתמש, כמו הזנת הטקסט 'username' ואז הקשה על הלחצן OK. סקריפטים של Robo יכולים לכלול גם פעולות כמו המתנה לאלמנט שיופיע, הקשה בנקודה ספציפית באלמנט והפעלת פקודות מעטפת של Android Debug Bridge‏ (adb).

לסקריפטים של Robo יש את היתרונות הבאים על פני frameworks רגילים לבדיקות:

יכולת תיאור
עמידים במיוחד סקריפטים של רובוטים יכולים לסבול הבדלים מבניים והתנהגותיים משמעותיים בין גרסאות של אפליקציות לבין חוסר יציבות באפליקציות.
שאלה פתוחה לאחר השלמת סקריפט Robo, הבדיקה הבסיסית מסוג Robo יכולה להשתלט על האפליקציה ולהמשיך לבדוק אותה. גישת הבדיקה המתמשכת הזו מאפשרת כמה תרחישי שימוש מרכזיים. לדוגמה, אפשר להשתמש בסקריפט של Robo כדי להעביר אפליקציה למצב מסוים על ידי ביצוע תהליך כניסה מותאם אישית.
עם הקלטה אין צורך לכתוב סקריפטים של Robo באופן ידני. אפשר להקליט אותם באמצעות מקליט הסקריפטים Robo ב-Android Studio. בדרך כלל, כדי ליצור או לשנות סקריפטים של Robo לא נדרש ידע בפיתוח לנייד.
גמיש סקריפטים של רובוטים יכולים לקיים אינטראקציה עם רכיבי ממשק משתמש לא מקומיים שנפוצים במשחקים.

סקריפטים של Robo מופעלים באופן מותנה במהלך בדיקת Robo, ומאפשרים למשתמשים לשפר את ההתנהגות של Robo – בדרך כלל כדי לקבל כיסוי רחב יותר או לטרגט פונקציונליות ספציפית. בניגוד למסגרות בדיקה מסורתיות, סקריפטים של Robo תומכים באפשרויות הבאות:

  • תנאי הפעלה שונים, למשל שם של חבילת אפליקציה מסוימת שמופעלת (או לא) או אלמנט ספציפי שמוצג במסך (או לא).
  • אמצעי בקרה על ביצוע, למשל מספר פעולות מקסימלי, עדיפות, שלב הסריקה הרלוונטי.
  • סוגים לא רגילים של פעולות (מותנות, התעלמות מרכיבים, סגירת מסך).

מומלץ להשתמש בסקריפטים של Robo כשאפשר, כי ניתן לתחזק אותם ללא מאמץ. לדוגמה, אפשר להשתמש בסקריפט של Robo כדי:

  • כדאי לנווט בתהליכי העבודה המשמעותיים כדי להגיע לפונקציונליות העיקרית של האפליקציה. לדוגמה, אפשר לבצע כניסה, להגדיר את מצב האפליקציה אחרי ההפעלה הראשונה ולרשום משתמש חדש.
  • כדאי להתמקד בחלק מסוים באפליקציה כדי להפיק את המקסימום מזמן הבדיקה של Robo. סקריפט Robo מנחה את בדיקת Robo להגיע לחלק הרלוונטי באפליקציה, שבו בדיקת Robo ממשיכה בסריקה אוטומטית מלאה.
  • להעביר אפליקציה למצב או למסך ספציפיים כדי לבצע ניתוח. לדוגמה, כדי לנתח הודעה באפליקציה, מדיניות פרטיות או שלב ספציפי במשחק.
  • ביצוע בדיקת כלי למדידה מקצה לקצה, עם או בלי בדיקת Robo שממשיכה סריקה אוטומטית מלאה אחרי השלמת הסקריפט של Robo.

השתמשו בתכונות מתקדמות יותר של סקריפטים Robo כדי לבצע את הפעולות הבאות:

  • צריך לבצע את הפעולות לפני שמערכת Robo תתחיל לסרוק את האפליקציה שנבדקה או אחרי שהסריקה תסתיים. לדוגמה, צריך לנקות את נתוני האפליקציה שנמצאים בבדיקה לפני הסריקה או לשנות את הגדרות המכשיר.
  • לשנות היבטים של התנהגות ה-Robo במהלך הסריקה, במיוחד:
    • איך לגרום ל-Robo להתעלם מווידג'טים מסוימים בממשק המשתמש או ממסכים מסוימים באפליקציות.
    • אפשר לציין פעולה מותאמת אישית ש-Robo יבצע כשיחזור אחורה ממסך מסוים.
    • לגרום ל-Robo לבצע פעולות ספציפיות בכל פעם שמסך מסוים של האפליקציה מתרחש במהלך סריקה.
  • התאמה אישית מלאה של אופן הסריקה של Robo. לדוגמה, אפשר להשתמש בשילוב של פעולות מותנות ולא מותנות כדי שהאפליקציה שנבדקת תישאר ברקע לאורך הסריקה, תוך כדי ביצוע פעולות במכשיר וסגירה של תיבות דו-שיח קופצות שיופיעו לאורך הדרך.

חשוב לזכור שסקריפטים של Robo לא מחליפים את כל סוגי הבדיקות. עדיין צריך לבצע בדיקות יחידה כדי לזהות באגים לוגיים ברמה נמוכה באפליקציה. בדרך כלל, לא נדרשת סביבה של Android או iOS כדי לבצע את הבדיקות האלה. מומלץ להוסיף לבדיקות סקריפטים של Robo בדיקות אינסטרומנטציה ממוקדות שיכולות לכלול טענות נכונות (assertions) ספציפיות ומפורטות לגבי לוגיקה עסקית, שמבוטאות בצורה הטובה ביותר בקוד.

השלבים הבאים